【发布时间】:2020-05-13 01:09:26
【问题描述】:
我正在尝试学习 tcl 脚本。我的要求很简单。我需要在 for 循环中的第二个 if 条件中访问数组“args”。我尝试了下面的代码。由于“argv”范围仅限于第二个 if 条件,因此在 for 循环中无法访问它
然后我尝试将 argv 声明为全局变量 -
数组集参数{}
就在第一个 if 条件的 ned 之下。即使将“args”声明为全局数组也没有帮助。
如何在下面的 for 循环中访问第二个 if contion 中的变量?
if {$argc != 4} {
puts "Insufficient arguments"
exit 1
}
if { $::argc > 0 } {
set i 1
foreach arg $::argv {
puts "argument $i is $arg"
set args(i) arg
incr i
}
} else {
puts "no command line argument passed"
}
for {set x 0} { $x<2 } {incr x} {
puts "Arrray: [lindex $args $x]"
}
【问题讨论】:
-
不调用变量
args是一个非常的好主意,除非它是过程的特殊最终形式参数,因为它不寻常(但有据可查)语义,否则你会混淆所有人。
标签: tcl