与{*}
args
一起使用{*}args
时,next a {*}$args b
的重要性是什么?
例如:如何在类方法中使用以下内容
next a $args b
与使用
不同status code of 500
答案 0 :(得分:3)
它是参数/列表扩展运算符。它将列表转换为许多单个单词。
它被记录为tcl语法规则的一部分:http://www.tcl.tk/man/tcl/TclCmd/Tcl.htm。这是规则5。
例如,假设您有一个列表:
set foo {a b c d}
然后你调用命令:
bar $foo
该命令将被解释为:
bar "a b c d"
但如果你这样做:
bar {*}$foo
然后该命令将被解释为:
bar a b c d
答案 1 :(得分:1)
通过将命令list
放在调用前面,您可以在交互式shell中看到自己的不同之处:
list next a {*}$args b
list next a $args b
将args
设置为某个值(最好是某个列表值),运行上面的命令,然后您将看到调用实际上是什么样的。
答案 2 :(得分:0)
{*}
将列表元素拼接为单个参数,而不是整个列表作为单个参数。