我在TCL中有一个关于“\”的问题
我看到一段代码如下:
proc ::A::B {c \
d \
e \
f
}
这个“\”在参数列表中意味着什么?
任何人都可以帮我吗?
答案 0 :(得分:5)
Tcl中一行末尾的反斜杠\
表示行继续。所以你的陈述完全相同:
proc ::A::B {c d e f}
除了它在多个源代码行中分解。
答案 1 :(得分:5)
如language definition中所述,
\<换行符> 的空白符的
单个空格字符替换换行符后面的反斜杠,换行符和所有空格和制表符。此反斜杠序列是唯一的,因为它在实际解析命令之前在单独的预传递中被替换。这意味着即使它在大括号之间发生也会被替换,如果它不在大括号或引号中,结果空间将被视为单词分隔符。
这意味着你的样本:
proc ::A::B {c \
d \
e \
f
}
与完全等效于此(注意间距):
proc ::A::B {c d e f
}
鉴于这将是对普通proc
命令的无效调用,我怀疑你已经略微修改了示例代码。 : - )