我正在嘗試迭代 TCL 中每個使用的值
這就是我提供輸入的方式
./a.sh value1,value2
在 a.sh 腳本中
set var [lindex $argv 0]
set values [split $var ","]
foreach {set i 0} {$values} {
puts "iterated once $i"
}
我希望迭代發生兩次,因為傳遞了兩個值。但它只迭代一次
請幫我解決這個問題
提前致謝
uj5u.com熱心網友回復:
該foreach命令以其最簡單的形式接受變數名、串列值和要為串列中的每個元素運行的腳本。你所經過的東西……同時在幾個方面都很奇怪。看,這是一個正確的方法:
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"
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/344234.html
上一篇:OSI 7層模型及相應延伸 (開放式系統互聯模型Open System Interconnection Reference Model)
