upvar 很象c语言的引用传参,我用一个例子说明
set a 1 ;#定义变量a, 并且值设为1
proc test {b} {
upvar $b mya
puts $b
puts $mya
}
test a ;#调用函数 test
a ;#参数b的值为a(变量名)
1 ;#由于upvar 使mya(变量名)指向a(变量名)指向的同一个变量,mya的为a的值
upvar使的在函数内部可以更改函数外部的变量的值
本文通过一个具体示例详细解释了Tcl编程语言中的upvar命令及其如何实现引用传参,展示了其在修改外部变量值时的作用。
upvar 很象c语言的引用传参,我用一个例子说明
set a 1 ;#定义变量a, 并且值设为1
proc test {b} {
upvar $b mya
puts $b
puts $mya
}
test a ;#调用函数 test
a ;#参数b的值为a(变量名)
1 ;#由于upvar 使mya(变量名)指向a(变量名)指向的同一个变量,mya的为a的值
upvar使的在函数内部可以更改函数外部的变量的值
1199
235
2032

被折叠的 条评论
为什么被折叠?