中村です。

In article <199701270543.OAA19306 / castanet.caelum.co.jp> 
matz / caelum.co.jp (Yukihiro Matsumoto) writes:
> 同様のことは
> 
>   begin
>     w.destroy
>   rescue
>   end
> 
> でできます.もっともruby/tkはパスの再利用などしないので,そ
> の辺に気をつけてください.

ということで、結局こうなりました。

def new_win
  begin
	$win.destroy
  rescue
  end
  $win = TkToplevel.new($root)
  TkButton.new($win) {
	text 'Dismiss'
	command "$win.destroy"
	pack
  }
end

これでいいようです。

動かないと思っていたら、こうしていました。
  begin
	$win = TkToplevel.new($root)
  rescue
	$win.destroy
  end

毎度のことながら、ありがとうございました。
# 少しずつは成長しているのですが。。。

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