将列表传递给 Tcl 过程的规范方法是什么?
如果我能得到它,以便列表自动扩展为可变数量的参数,我真的很喜欢它。
所以像这样:
set a {b c}
myprocedure option1 option2 $a
and
myprocedure option1 option2 b c
是等价的。
我确信我以前见过这个,但我在网上找不到它。任何使这两种情况等效的帮助(和代码)将不胜感激。
这是否被视为标准 Tcl 约定?或者我是不是找错了树?
这取决于您使用的 Tcl 版本,但是:
对于 8.5:
set mylist {a b c}
myprocedure option1 option2 {*}$mylist
对于 8.4 及以下版本:
set mylist {a b c}
eval myprocedure option1 option2 $mylist
# or, if option1 and 2 are variables
eval myprocedure [list $option1] [list $option2] $mylist
# or, as Bryan prefers
eval myprocedure \$option1 \$option2 $mylist
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)