【问题标题】:What does the "%" mean in tcl?tcl 中的“%”是什么意思?
【发布时间】:2019-01-29 16:02:07
【问题描述】:

例如在这样的情况下:

[% $create_port %]

or [list [% $RTL_LIST %]]

我意识到它与括号有关,但让我感到困惑的是,有时它与括号和变量一起使用,有时你的括号里面有变量而没有%

所以我不确定它的用途。

感谢任何帮助。

【问题讨论】:

  • 你有这个工作代码sn-p吗? % 是标准/默认的 TCL 提示符。这是我唯一熟悉的 TCL 用法。
  • 在 [ 之后,解释器需要一个命令。在 Tcl 中,您可以随意命名命令(或 procs),包括 %。但是 % 不是开箱即用的命令。所以它似乎是在你的应用程序的某个地方创建的。
  • % 实际上定义为 tcl::mathop 中的命令。它计算其参数的积分模块。因此,如果您执行 namespace import tcl::mathop::*,% 将是一个有效命令,但您的示例不符合该命令的预期参数。
  • 看起来更像一些模板指令(开始和结束标签)。恐怕 OP 将不得不详细说明她的设置。
  • 感谢大家的帮助。我会尝试询问编写实际代码的人。可能就如你们所说,仅供个人参考。

标签: shell unix scripting tcl


【解决方案1】:

% 不是 Tcl 语言核心中的元字符,但在 Tcl 中仍然有一些含义。特别是,它是expr 中的模运算符和formatscanclock formatclock scan 中的替换字段说明符。 (它也是默认的提示符,我在~/.tclshrc 中有一个简单的直通% 命令以使剪切-粘贴代码更容易,但世界上没有其他人需要跟随我的领导!)

但是您编写的代码似乎不是其中的任何一个(因为这将是我提到的所有命令中的语法错误)。看起来它是某种指令处理方案(特殊序列是 [%%]with 括号)虽然不是我认识的,例如 doctoolsrivet .因为嵌入 Tcl 解释器的程序可以在执行脚本之前对脚本进行任意转换,所以很难猜测它到底是什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-12
    • 2017-06-11
    • 2018-03-05
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2010-09-29
    相关资源
    最近更新 更多