TCL 中的迭代使用 for each
Iteration in TCL using for each
我正在尝试在 TCL
中迭代使用 for each 的值
这是我输入的方式
./a.sh value1,value2
在 a.sh 脚本中
set var [lindex $argv 0]
set values [split $var ","]
foreach {set i 0} {$values} {
puts "iterated once $i"
}
我希望迭代发生两次,因为传递了两个值。但它只迭代一次
请帮我解决这个问题
提前致谢
foreach
命令的最简单形式采用变量 name、列表 value 和 script 到 运行 用于列表的每个元素。你路过的东西……同时在几个方面都很奇怪。看,这是正确的做法:
set values [split $var ","]
foreach item $values {
puts "iterated: $item"
}
如果你想通过计数,你应该设置自己的计数器:
set values [split $var ","]
foreach item $values {
set i [incr counter]
puts "iterated #$i: $item"
}
可以缩短为:
foreach item [split $var ","] {
puts "iterated #[incr counter]: $item"
}
我正在尝试在 TCL
中迭代使用 for each 的值这是我输入的方式
./a.sh value1,value2
在 a.sh 脚本中
set var [lindex $argv 0]
set values [split $var ","]
foreach {set i 0} {$values} {
puts "iterated once $i"
}
我希望迭代发生两次,因为传递了两个值。但它只迭代一次
请帮我解决这个问题
提前致谢
foreach
命令的最简单形式采用变量 name、列表 value 和 script 到 运行 用于列表的每个元素。你路过的东西……同时在几个方面都很奇怪。看,这是正确的做法:
set values [split $var ","]
foreach item $values {
puts "iterated: $item"
}
如果你想通过计数,你应该设置自己的计数器:
set values [split $var ","]
foreach item $values {
set i [incr counter]
puts "iterated #$i: $item"
}
可以缩短为:
foreach item [split $var ","] {
puts "iterated #[incr counter]: $item"
}