Tcl 程序 return 与设置为 return 运算符

Tcl procedure return vs. set as return operator

假设我有一个过程,我希望 return 过程局部变量的值。
有很多方法可以做到这一点,但有 2 个非常简单的方法是,在过程的最后一行放置这些命令中的任何一个(假设 ret 存储 returned 值)

set ret ; #first option
return $ret ; #second option

在 Tcl 中的 2 之间有什么区别(如果有的话),应该提示我选择 1 还是另一个?
谢谢

字节码序列实际上是一样的;两者都将值压入操作数堆栈并调用成功终止过程的 done 操作。我通常更喜欢使用 return,因为这样更清楚我的意思。

我认为在 Tcl 中使用 return 更为惯用。与 Ruby 不同的是 避免 使用 return.

是惯用的

此外,如果您 return 处于非正常状态,您确实必须使用 return,因此您也可以将其用于正常状态。