使用tcl,我想将可变参数传递给函数。 我想这码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
- > PARAMS launch_proc是{*} $ PARAM参数1参数2参数3" $参数是不计算(我用的TCL 8.5)
您只能传递3个参数到'launch_proc',但是你传递的是多于(不正确?)的那个。此外,引用的问题也是如此。 – Dinesh
您正在将字符串'{*} $ param param1 param2 param3'传递给'launch_proc'。它看起来不像你想要的。你的意思是'launch_proc'1.5.2 test param“test_standard”{*} $ param param1 param2 param3“'? – Jerry
或者更好'也许'launch_proc“1.5.2测试参数”test_standard [list {*} $参数param1 param2 param3]' – Jerry