我正在尝试使用变量设置文件名,但是如果我在变量名后的文件名中使用下划线,它将使用_作为变量名的一部分:
例如:
set var sometext
set filename "$var_a.txt"
问题是,现在它不能调用名为var_a的变量 有没有一种方法可以强制不以_结尾的订阅,而无需使用append命令(如果可能,我希望将其整齐地保持在一行上)。我不能使用concat,因为它会在两个值之间放置一个空格
感谢帮助
答案 0 :(得分:2)
最干净的方法是分隔变量名称:
set filename "${var}_a.txt"
答案 1 :(得分:1)
有时候,最好使用format
处理一组复杂的替换:
set var sometext
set filename [format "%s_a.txt" $var]
答案 2 :(得分:0)
有时候,异地替换/组装既方便又健壮:
append filename $var "_a.text"
或者,从Tcl 8.6开始,没有接收变量
string cat $var "_a.text"