中村です。

TkRadioButton の variable に関する質問です。
[ruby-list:1770] であげたプログラム
をちょっと変えたやつを以下にあげます。

#!/usr/local/bin/ruby

require "tk"

$flavor = "chocolate"

TkRadioButton.new {
  text 'Chocolate Flavor'
  variable :$flavor
  value 'chocolate'
  anchor 'w'
  pack('fill' => 'x')
}
TkRadioButton.new {
  text 'Strawberry Flavor'
  variable :$flavor
  value 'strawberry'
  anchor 'w'
  pack('fill' => 'x')
}
TkRadioButton.new {
  text 'Lemon Flavor'
  variable :$flavor
  value 'lemon'
  anchor 'w'
  pack('fill' => 'x')
}
TkEntry.new {
  textvariable :$flavor
  pack('fill' => 'x')
}

def print_variable
  print 'variable : ', $flavor, "\n"
  STDOUT.flush  
end

TkButton.new {
  text 'Print Variable'
  command "print_variable"
  pack
}

TkButton.new {
  text 'QUIT'
  foreground 'red'
  command 'exit'
  pack('side' => 'bottom', 'fill' => 'both')
}

Tk.mainloop


'Print Variable' というボタンを押したときに
$flavor が表示されて欲しいのですが、
Radiobutton を変更してもずーと chocolate の
ままなのです。どうしてでしょうか?
もしかしたら :$flavor というように : が
付いているのがミソでしょうか?

よろしくお願いします。

         中村典嗣@京都大学大学院工学研究科電子通信工学専攻
         E-mail:        nnakamur / tamaru.kuee.kyoto-u.ac.jp