Parameters 反斜杠在TCL中是什么意思?

Parameters 反斜杠在TCL中是什么意思?,parameters,tcl,Parameters,Tcl,我有一个关于TCL中“\”的问题 我看到一段代码如下: proc ::A::B {c \ d \ e \ f } 参数列表中的“\”是什么意思 有人能帮我吗?Tcl中一行末尾的反斜杠\表示行继续。因此,您的声明与以下内容完全相同: proc ::A::B {c d e f} 除非它在多个源行中被分解。如中所述 \空白 单个空格字符将替换反斜杠、换行符以及换行符后的所有空格和制表符。此反斜杠序列的独特之处在于,它在

我有一个关于TCL中“\”的问题

我看到一段代码如下:

proc ::A::B {c \
             d \
             e \
             f 
}
参数列表中的“\”是什么意思


有人能帮我吗?

Tcl中一行末尾的反斜杠
\
表示行继续。因此,您的声明与以下内容完全相同:

proc ::A::B {c d e f}
除非它在多个源行中被分解。

如中所述

\空白

单个空格字符将替换反斜杠、换行符以及换行符后的所有空格和制表符。此反斜杠序列的独特之处在于,它在实际解析命令之前在单独的预传递中被替换。这意味着即使它出现在大括号之间也会被替换,如果它不在大括号或引号中,则生成的空格将被视为单词分隔符

这意味着您的样品:

proc ::A::B {c \
             d \
             e \
             f 
}
与此完全相同(请注意间距):


考虑到这将是对普通
proc
命令的无效调用,我怀疑您对示例代码做了一些修改。:-)

您必须小心,反斜杠是行中的最后一个字符。我曾经被咬过,它后面有一个空格,否定了反斜杠换行的特殊性。使用一个编辑器,它可以在行的末尾添加行,这是很有帮助的。从技术上讲,它与{cdef}是一样的。请注意字符之间的两个空格。反斜杠将换行符和后面的任何空格转义到一个空格中。因为反斜杠前面有一个空格,所以总共有两个空格。
proc ::A::B {c  d  e  f 
}