Tcl字符串操作和替换

时间:2013-12-04 17:41:31

标签: string tcl substitution

set i 0
set student$i tom

(当然,这相当于set student0 tom

我想得到student0的值,即字符串“tom”。如果我必须使用$i代表0,我怎样才能获得它?我尝试了$(student$i)$"student$i"以及许多其他方式,但我无法获得字符串“tom”。 (我不想在这里硬编码$student0)。

有什么方法可以解决这个问题吗?谢谢!

2 个答案:

答案 0 :(得分:6)

您可以使用set命令 - 它返回变量的值:

puts "the student is [set student$i]"

然而,这种事情通常比它的价值更麻烦。使用数组,i作为数组的索引:

set student($i) tom
puts "the student is $student($i)"

答案 1 :(得分:1)

1]设置i 0

设置学生$ i" tom"

put [subst $ [subst student [subst $ i]]]

2]使用数组

设置i 0

设置学生($ i)" tom"

投入$ student($ i)