在过程中声明时无法识别全局变量

时间:2018-08-24 10:56:46

标签: tcl tk

有人可以告诉我为什么在下面的代码中无法识别全局变量y吗?

proc add_new_seq {} {
global y 2
rid .kl15_val -row $y -column 4
incr y
}
add_new_seq

1 个答案:

答案 0 :(得分:5)

命令“ global y 2”声明2个全局变量,分别命名为y和2(是的,在Tcl 2中是一个完全有效的变量名)。这两个变量都没有值。您可能打算:

global y
set y 2

但是那样每次都会将变量重置为2。因此,您可能想要一些类似的东西:

set y 2
proc add_new_seq {} {
    global y
    rid .kl15_val -row $y -column 4
    incr y
}
add_new_seq