调用设置变量的Tcl过程似乎打印了设置的值。
% proc a { } { set b "I don't want that!" }
% a
I don't want that!
怎么预防?
只需添加一个裸return
:
% proc a { } { set b "I don't want that!" ; return }
请注意,该值实际上并未由相关代码打印。 set
命令返回值,a
命令返回其上次执行的命令的值。如果在交互式tclsh *会话中运行a
命令,则会在下一个提示之前打印返回值,但如果在脚本中以非交互方式执行a
,则不会打印它。
*)或类似,如tkcon。