【发布时间】:2015-12-15 10:29:14
【问题描述】:
使用 tcl,我想将可变参数传递给函数。 我试过这段代码
proc launch_proc { msg proc_name {params {}} } {
puts "params launch_proc is $params \n"
}
proc test { param } {
puts "param test is $param \n"
launch_proc "1.5.2 test param" test_standard {{*}$param param1 param2 param3"
}
}
test value
--> 参数 launch_proc 是 {*}$param param1 param2 param3" $param 未评估(我使用 tcl 8.5)
【问题讨论】:
-
您只能将 3 个参数传递给
launch_proc,但您传递的参数不止这些(不正确?)。此外,报价也有问题。 -
您将字符串
{*}$param param1 param2 param3传递给launch_proc。它看起来不像你想要的。你的意思是launch_proc "1.5.2 test param" test_standard "{*}$param param1 param2 param3"? -
或者更好
launch_proc "1.5.2 test param" test_standard [list {*}$param param1 param2 param3] -
当您调用
testproc 时,变量$value是否包含任何值?
标签: variables parameters tcl