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

问题描述 投票:1回答:1

谁能告诉我为什么全局变量y不能在下面的代码中被识别出来?

proc add_new_seq {} {
global y 2
rid .kl15_val -row $y -column 4
incr y
}
add_new_seq
tcl tk
1个回答
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
© www.soinside.com 2019 - 2024. All rights reserved.