我在tcl中有关于foreach的问题:
foreach id "6 8" {
#do something here;
}
这是"6 8"
列表吗?什么“6 8”是什么意思?
答案 0 :(得分:3)
要记住的主要事情是Tcl本身没有类型,至少不是用户应该担心它们的方式。相反,每个值都是一个字符串,每个命令都会尝试将其视为所需的值类型。
例如:
set value "1"
expr {$value + 1} ; # treat $value as a number
lindex $value 0 ; # treat $value as a list
对于您的代码,6 8
命令将值foreach
解释为列表,其值为6
和8
。值周围的双引号只是将其中的内容分组为单个值。它们(dqs)不表示任何特定类型(即字符串,列表,数字)。
答案 1 :(得分:2)
foreach id "6 8" {
# do something
}
在这种情况下," 6 8"是两个元素的列表, 6 和 8 。首先将id分配给 6 的循环,进入循环体。下一次,id将 8 并进入循环体。当它用完列表中的项目时,循环退出。