Ash*_*hot 1 tcl special-characters
我的程序中的一些变量名称是根据用户的输入构造的,因此它们可能包含任何符号.一些符号被解释者视为特殊符号,例如$,#, ....通过在构造变量名的开头添加开括号并在其末尾添加闭括号来解决有关该符号的问题.但是,当变量名称包含大括号时,会出现另一个问题.
set "a{}" text
puts $a{}
puts ${a{}}
Run Code Online (Sandbox Code Playgroud)
没有任何拖曳工作在这里.如何打印变量的值,a{}是否有任何已知的方法来处理TCL中的特殊符号?
从手册:
请注意,变量可能包含上面列出的字符序列以外的字符序列,但在这种情况下,必须使用其他机制来访问它们(例如,通过set命令的单参数形式).
使用 set
puts [set "a{}"]
Run Code Online (Sandbox Code Playgroud)
在$被方式限制,set不