From: TEI meiki Date: 1998-10-14T11:12:31+09:00 Subject: [ruby-list:10084] Re: Ruby/Tk introduction 鄭です。 わたなべさん、まつもとさん、ありがとうございます。 Widget の生成の構文が理解できるようになったら、だいぶ推測が つくような気になってきました。 new をイテレータとして呼ぶと、ブロックパラメータに出来たばかりの オブジェクトを渡してくれて、さらにブロックのなかでは、メソッドが 関数形式で呼べる(つまり self がセットされている? こういう状況を なんてよぶんでしょう?)んですね。 出来た widget オブジェクトの設定オプションは、他のメソッド名とぶつからなければ メソッドとしても呼べるのですね。 b = TkButton.new(nil) { text("Off"); command( proc{....} ) } ...... b.text("On") b.command( proc{ .... }) ところで、このときの戻り値を self にしてはどうでしょうか? そうすると、 b.text("On").command( proc{ .... } ) なんて連鎖できて、 b.configure( "text"=>"On", "command"=>proc{..} ) にくらべて、ちょっと書きやすくなる気がするのですが。 -- ┌─鄭 明毅───────────────────┐ └──tei@harmony.co.jp──tei@mirage.linc.or.jp─┘