TCL 过程参数自动补全 与 help 信息显示

tcl 函数参数自动补全和 help 信息显示

在EDA tool 中使用命令时,命令的参数可以通过 tab 键自动补全,而且可以使用 -help 显示帮助信息,使用起来很方便;

那么我们自己编写的 TCL 过程函数能否也实现 参数自动补全和 help 显示帮助信息呢?

参数自动补全可以用 define_proc_attribute 实现,而 -help 显示帮助可以用 parse_proc_arguments 实现

举个栗子:

proc test_proc {args} { ## 关键字 args 表示可变个数的参数 parse_proc_arguments -args $args results ## 将参数保存到数组中,数组名为 results,数组元素名字是参数名,元素值是参数值 if { [array names results {-add}] != ""} { ## 匹配数组results 中符合正则表达式“{-add}”的元素名字,用于检测是否给出了 -add 参数 echo "add num $results(-add) !" ## $results{-add} 是数组元素值,即 -add 参数的值 } if { [array names results {-reomve}] != "" } { echo "remove all !" } } define_proc_attributes test_proc \ ## 这段程式定义 help 信息和参数自动补全 -info "proc test code example " \ -define_args { ## 定义参数名字,输入时可以自动补全 {-add "add more " "num" int optional } ## 参数名字-add,帮助信息 add more ,参数值 num ,参数值数据类型 int ,参数是否是必须的 optional {-remove "reomve all " "" boolean optional } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpxxjg.html