这种结构使用起来最为灵活方便,但是也最不容易掌握。
在TCL中可以将数组名作为函数参数,再通过upvar,得到数组的内容。
下面的例子就显示了这个用法:
#!/usr/bin/tclsh
proc foo {arr_foo} {
upvar $arr_foo arr
puts -nonewline {$arr(key1):}
puts $arr(key1)
puts -nonewline {$arr(key2):}
puts $arr(key2)
}
set a(key1) value1
set a(key2) value2
foo a
proc foo {arr_foo} {
upvar $arr_foo arr
puts -nonewline {$arr(key1):}
puts $arr(key1)
puts -nonewline {$arr(key2):}
puts $arr(key2)
}
set a(key1) value1
set a(key2) value2
foo a
结果:
$arr(key1):value1
$arr(key2):value2
$arr(key2):value2
0 comments:
发表评论