在数字后端中经常要批量化处理一些变量,使用foreach可以更高效率的处理数据
set block [list tb0 tb1 tb2]
set block_model [list /data/share /data/share1 /data/share2]foreach block_item $block model_item $block_model {
set output "set_hier_config -block $block_item -path $model_item"
puts $output
}
输出结果如下:
set_hier_config -block tb0 -path /data/share
set_hier_config -block tb1 -path /data/share1
set_hier_config -block tb2 -path /data/share2
也可以使用for完成类似操作
for {set i 0} {$i < [llength $block]} {incr i} {
set block_item [lindex $block $i]
set model_item [lindex $block_model $i]
set output "set_hier_config -block $block_item -path $model_item"
puts $output
}
输出结果如下:
set_hier_config -block tb0 -path /data/share
set_hier_config -block tb1 -path /data/share1
set_hier_config -block tb2 -path /data/share2
其他解释如下:
[llength $block] #列表block的长度
[lindex $block $i] #列表block的第i个元素