0040デフォルトの名無しさん
2022/02/24(木) 16:50:42.42ID:CpM4JwWB>set abc {ABC}
>pack [button .hoge -text hoge -command {puts $abc}]
>set abc {AAA}
>
>だとボタン押したときに実行されるのが
>ABC
>の方なんだよね
そんなはずないと思う
-commandの {puts $abc} はglobalなコンテキストで評価されるから、
abcがglobalならputs $abcはAAAになる
そうじゃなくて -command "puts $abc" であれば、
buttonコマンド実行時に$abcが置換されるからABCになる
慣れないうちは混乱する
こんなところが嫌われる