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

时间:2011-07-05 09:00:10

标签: parameters tcl

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

我看到一段代码如下:

proc ::A::B {c \
             d \
             e \
             f 
}

这个“\”在参数列表中意味着什么?

任何人都可以帮我吗?

2 个答案:

答案 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命令的无效调用,我怀疑你已经略微修改了示例代码。 : - )