TCL:如何创建和使用名称包含花括号的变量?
我的程序中的一些变量名是由用户的输入构造的,因此它们可能包含任何符号。一些符号被解释器视为特殊符号,例如TCL:如何创建和使用名称包含花括号的变量?,tcl,special-characters,Tcl,Special Characters,我的程序中的一些变量名是由用户的输入构造的,因此它们可能包含任何符号。一些符号被解释器视为特殊符号,例如$,#,…。通过在构造变量名的开头加上开括号,在末尾加上闭括号,解决了有关符号的问题。但现在,当变量名包含卷曲的右大括号时,另一个问题出现了 set "a{}" text puts $a{} puts ${a{}} 这两个人都不在这里工作。如何打印变量a{}的值,以及是否有任何已知的方法来处理TCL中的特殊符号?来自: 请注意,变量可能包含上面列出的字符序列以外的字符序列,但在这种情况下,
$,#,…
。通过在构造变量名的开头加上开括号,在末尾加上闭括号,解决了有关符号的问题。但现在,当变量名包含卷曲的右大括号时,另一个问题出现了
set "a{}" text
puts $a{}
puts ${a{}}
这两个人都不在这里工作。如何打印变量a{}
的值,以及是否有任何已知的方法来处理TCL中的特殊符号?来自:
请注意,变量可能包含上面列出的字符序列以外的字符序列,但在这种情况下,必须使用其他机制来访问它们(例如,通过命令的单参数形式)
使用set
puts [set "a{}"]
$
的方式是,设置
不是来自:
请注意,变量可能包含上面列出的字符序列以外的字符序列,但在这种情况下,必须使用其他机制来访问它们(例如,通过命令的单参数形式)
使用set
puts [set "a{}"]
$
的方法是,set
不是@JohannesKuhn,将其作为答案发布注意,如果您经常这样做,这可能意味着您应该使用包含名称的“奇怪字符”作为数组元素的名称<代码>集元(a{})文本;放置$ary(a{})@JohannesKuhn,作为回答请注意,如果您经常这样做,这可能意味着您应该使用包含名称的“奇怪字符”作为数组元素的名称<代码>集元(a{})文本;放置$ary(a{})