長さが不明なオブジェクトのリストがあります。チェックボックスの 2 つのリストを作成し、各リストにリストの各行のチェックボックスを作成したいと考えています。また、チェックボックスにアクセスしてその値を確認できるようにする必要もあります。
パスからチェックボックスの値を取得する方法が見つからなかったので、チェックボックスの変数を保持するグローバル配列を作成したいと思い、次のことを試しました。
global cb
set i 0
foreach port $ports {
set to_cb [checkbutton $to.cb_to_$i -variable [list $cb(to$i)] -text $port -command [list __sp_from_to_changed $from $to]]
set from_cb [checkbutton $from.cb_from_$i -variable [list $cb(from$i)] -text $port -command [list __sp_from_to_changed $from $to]]
grid $to_cb -row [expr $i + 2] -sticky nsew
grid $from_cb -row [expr $i + 2] -sticky nsew
incr i
エラーが発生can't read "cb(to0)": no such variable
した場合、チェックボックスの配列内に変数を割り当てるにはどうすればよいですか、またはさらに良いことに、中間変数を使用せずにチェックボックスから直接現在の値を取得する方法はありますか?