在 Tcl 脚本中,我想捕获 Tcl proc 的返回,以便执行一些终结操作。例如我的代码可能如下:
proc X10 { a } { return [expr $a * 10] }
proc procF {} {
set a 13
catch {[info body X10]} __result
return $__result
}
procF
前面的代码给了我一个错误:invalid command name " return [expr $a * 10] "
尽管替换info body X10
为return [expr $a * 10]
预期的工作。我最初的想法是它们都是可交换的,并且应该提供相同的输出。那么,为什么第一个给出错误,它们之间有什么区别?