2

我在 TCL 中有这个小循环

for {set i 1} {$i <= $user} {incr i} {
   grid [ttk::button .seluser.$i -text "$i" -command { set ::user $i }] -column $i -row 1
}

我收到了消息

错误无法读取“i”:没有这样的变量

我认为这是因为它-command像一个新的 proc 一样工作,这就是它无法识别变量的原因i

我不知道该怎么做。有谁能够帮我?

4

1 回答 1

2

尝试使用引号而不是大括号,以便进行$i预插值。例如,

for {set i 1} {$i <= $user} {incr i} {
    grid [ttk::button .seluser.$i -text "$i" -command " set ::user $i "] -column $i -row 1
} 
于 2012-05-29T14:58:17.747 回答