[#45670] ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...>

天野です。

40 messages 2008/12/02
[#45673] Re: ruby-1.9.1-preview2のruby-tk on OSX — Nobuyoshi Nakada <nobu@...> 2008/12/03

なかだです。

[#45676] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/03

天野です。

[#45678] Re: ruby-1.9.1-preview2のruby-tk on OSX — Nobuyoshi Nakada <nobu@...> 2008/12/03

なかだです。

[#45680] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/03

永井@知能.九工大です.

[#45701] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/04

天野です。報告遅れてすみません。

[#45707] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/05

永井@知能.九工大です.

[#45708] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/07

天野です。

[#45709] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/07

永井@知能.九工大です.

[#45710] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/08

天野です。

[#45711] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/08

永井@知能.九工大です.

[#45712] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/08

天野です。

[#45713] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/08

永井@知能.九工大です.

[#45714] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/08

天野です。

[#45715] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/08

永井@知能.九工大です.

[#45716] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/08

天野です。

[#45717] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/08

永井@知能.九工大です.

[#45721] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/17

天野さん,

[#45722] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/17

天野です。

[#45725] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/17

永井@知能.九工大です.

[#45726] Re: ruby-1.9.1-preview2のruby-tk on OSX — Hidetoshi NAGAI <nagai@...> 2008/12/18

永井@知能.九工大です.

[#45727] Re: ruby-1.9.1-preview2のruby-tk on OSX — 天野竜太郎 <wn9r-amn@...> 2008/12/19

天野です。

[ruby-list:45681] Re: TkButton中のクラスメソッド呼出

From: Hidetoshi NAGAI <nagai@...>
Date: 2008-12-03 20:14:23 UTC
List: ruby-list #45681
永井@知能.九工大です.

From: inaba <inaba@lake.dti.ne.jp>
Subject: [ruby-list:45677] TkButton中のクラスメソッド呼出
Date: Wed, 3 Dec 2008 22:41:28 +0900
Message-ID: <49368DE3.8050908@lake.dti.ne.jp>
> 久々にTkでGUIを書こうとして、基本的なことがわからなくなりました。
> 以下のコードで、今のように 'command'=>proc{gm} なら問題ないのですが、
> クラスメソッドのcmを呼ぼうとすると実行時にエラーになります。

TkFrame の new メソッドのブロック中で定義していることが原因です.
このブロックは TkFrame オブジェクトで instance_eval されてますから,
gm は見えても cm は見えないということになります.

ですので,
-----------------------------------------------------------------
  def initialize(parent)
    f = TkFrame.new(parent).pack
    TkButton.new(f, 'text'=>'B', 'command'=>proc{gm; cm}).pack;
  end
-----------------------------------------------------------------
だとか
-----------------------------------------------------------------
  def initialize(parent)
    callback = proc{gm; cm}
    TkFrame.new(parent){|f|
      TkButton.new(f, 'text'=>'B', 'command'=>callback).pack;
    }.pack
  end
-----------------------------------------------------------------
だとかのお好みの形で,
cm が見える場所でコールバックとなる手続きオブジェクトを
定義するようにしてあげればいいはずです.
-- 
永井 秀利  (nagai@ai.kyutech.ac.jp)
九州工業大学 大学院情報工学研究院 知能情報工学研究系

In This Thread