首页 > 解决方案 > 在过程中声明时无法识别全局变量

问题描述

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

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

标签: tcltk

解决方案


命令“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

推荐阅读