【问题标题】:How to prevent Tcl from printing the value being set?如何防止 Tcl 打印正在设置的值?
【发布时间】:2018-03-02 19:52:16
【问题描述】:

对设置变量的 Tcl 过程的调用似乎打印正在设置的值。

% proc a { } { set b "I don't want that!" }
% a
I don't want that!

如何预防?

【问题讨论】:

    标签: tcl


    【解决方案1】:

    只需添加一个裸露的return

    % proc a { } { set b "I don't want that!" ; return }
    

    请注意,相关代码实际上并未打印该值。 set 命令返回值,a 命令返回其最后执行的命令的值。如果您在交互式 tclsh* 会话中运行 a 命令,则在下一个提示符之前打印返回值,但如果您在脚本中以非交互方式执行 a,则不会打印。


    *) 或类似的,如 tkcon。

    【讨论】:

    • 交互式会话的另一个“技巧”是附加; list 一个set 命令:裸list 返回一个空字符串,使得交互式shell 不打印它返回的值——而“阴影”set 命令的执行结果。
    猜你喜欢
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 2010-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多