在Tcl中使用proc复制参数
我想创建多个对象,所有对象都具有相同的参数,因此我尝试将它们存储在返回它们的过程中。但解释器将返回结果作为一个参数而不是多个参数进行计算。我的过程是:
proc element_param {} {
return "-filled 1\
-visible 1\
-linewidth 1\
-linecolor yellow\
-fillcolor yellow\
-relief roundraised\
-linewidth 2"
}
我将其用于:
$this/zinc add rectangle 1 [list "100" "100" "200" "200"] [element_param]
如何将它们变成几个不同的参数?
I want to make several objects, all with the same parameters, so I tried to store them in a proc that returns them. But the interpreter evaluates the returning result as one parameter, instead of several. my proc is:
proc element_param {} {
return "-filled 1\
-visible 1\
-linewidth 1\
-linecolor yellow\
-fillcolor yellow\
-relief roundraised\
-linewidth 2"
}
and I use it with:
$this/zinc add rectangle 1 [list "100" "100" "200" "200"] [element_param]
How do I turn them into several different parameters?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 tcl 8.5 及更高版本中,使用 {*} 运算符来扩展参数列表:
在以前的版本中,您可以使用 eval: 来扩展列表,
这是等效的。
With tcl 8.5 and above use the {*} operator to expand the list of parameters:
with previous versions you can expand lists using eval:
which is equivalent.