反斜杠在TCL中意味着什么?

7 parameters tcl

我在TCL有一个关于"\"的问题

我看到一段代码如下:

proc ::A::B {c \
             d \
             e \
             f 
}
Run Code Online (Sandbox Code Playgroud)

这个"\"在参数列表中的含义是什么?

谁可以帮我这个事?

Don*_*ows 6

语言定义中所述,

\ <newline> whiteSpace

单个空格字符替换换行符后面的反斜杠,换行符和所有空格和制表符.此反斜杠序列是唯一的,因为它在实际解析命令之前在单独的预传递中被替换.这意味着它将被替换,即使它出现在大括号之间,如果它不在大括号或引号中,结果空间将被视为单词分隔符.

这意味着你的样本:

proc ::A::B {c \
             d \
             e \
             f 
}
Run Code Online (Sandbox Code Playgroud)

正好相当于本(注意间距):

proc ::A::B {c  d  e  f 
}
Run Code Online (Sandbox Code Playgroud)

鉴于这将是对正常proc命令的无效调用,我怀疑你已经修剪了一些示例代码.:-)


Gre*_*ill 5

\Tcl中一行末尾的反斜杠表示行继续.所以你的陈述完全相同:

proc ::A::B {c d e f}
Run Code Online (Sandbox Code Playgroud)

除了它在多个源代码行中分解.

  • 你必须要小心,反斜杠是该行的最后一个字符.过去我曾经被咬过,因为它背后有一个空格,否定了反斜杠换行的特殊性.使用可以高级生产线结束的编辑器很有帮助. (2认同)