глобальная переменная не распознается при объявлении в процедуре - PullRequest
0 голосов
/ 24 августа 2018

Может кто-нибудь сказать мне, почему глобальная переменная y не распознается в приведенном ниже коде, пожалуйста?

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

1 Ответ

0 голосов
/ 24 августа 2018

Команда "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
...