博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCL函数“参数自动补全” 与 “help 信息显示”
阅读量:6520 次
发布时间:2019-06-24

本文共 1335 字,大约阅读时间需要 4 分钟。

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 } }

这样定义之后,在EDA tool 中 敲命令 test_proc -rem[tab]  可以用 tab 键自动补全,用 test_proc -help 可以显示帮助信息

 

注意几点:

参数列表中的 args 是一个关键字,表示可变个数的参数

如果没有写 parse_proc_arguments ,则无法显示 -help 信息

array names  results  {-add} ,其中 results 是数组名, {-add} 是正则表达式,返回array 中 符合这个表达式的元素的名字

$results(-add) 返回数组元素值

 

转载于:https://www.cnblogs.com/xiaoxie2014/p/9144768.html

你可能感兴趣的文章
Zeppelin Prefix not found.
查看>>
ubuntu中eclipse安装svn插件问题
查看>>
linux 的网络设置
查看>>
首届“欧亚杯”象翻棋全国团体邀请赛圆满收评!
查看>>
编译tomcat
查看>>
最简单 iText 的 PDF 生成方案(含中文解决方案)HTML 转为 PDF
查看>>
MySql中is NULL、ISNULL()和IFNULL()运行速度的比较
查看>>
关于unichar字符串的初始化
查看>>
oracle-xe手工创建数据库
查看>>
Cisco交换机 链路聚合
查看>>
我的友情链接
查看>>
好程序员HTML5大前端分享web前端面试题集锦二
查看>>
UG中卸载被占用的DLL
查看>>
eclipse 设置注释模板详解,与导入模板方法介绍总结
查看>>
Cocos2d-x3.2 文字显示
查看>>
估计下星期就能考科目二了
查看>>
20 Useful Commands for Linux Newbies
查看>>
轻松实现localStorage本地存储和本地数组存储
查看>>
mongodb group
查看>>
python+selenium自动化测试(二)
查看>>