[#39989] TCPSocket.new でスレッドが止まる。 — take_tk <ggb03124@...>

たけ(tk)です。

15 messages 2004/09/02

[#40018] yaml.rbとdate.rbを組み合わせて使った際の問題 — "Keisuke Minami" <keisuke@...>

こんにちは。三並と申します。

14 messages 2004/09/07
[#40020] Re: yaml.rbとdate.rbを組み合わせて使った際の問題 — IWATSUKI Hiroyuki <don@...> 2004/09/07

岩月と申します。

[ruby-list:40001] Re: ruby/tk のイベントハンドラをまとめて設定するには?

From: "H.Yamamoto" <ocean@...2.ccsnet.ne.jp>
Date: 2004-09-03 03:06:51 UTC
List: ruby-list #40001
山本です。

すみません、as も |r| は付きますね (--;

>>      let(TkcRectangle.new(self, 100 + h, 100 + h, 200 + h, 200 + h, :fill => :white)) {|r|
>>        r.bind "ButtonPress-1", proc { p r.id }
>>      }

色々考えたんですが、しっくりくるものがなくて、難しいです。

  1. let を予約語にしてしまう

        r = TkcRectangle.new(self, 100 + h, 100 + h, 200 + h, 200 + h, :fill => :white)
        let r
           r.bind "ButtonPress-1", proc { p r.id }
        end

        r = TkcRectangle.new(self, 100 + h, 100 + h, 200 + h, 200 + h, :fill => :white)
        r.bind "ButtonPress-1", let r { proc { p r.id } }

  2. ブロックローカルにするような宣言をつくる

       r = TkcRectangle.new(self, 100 + h, 100 + h, 200 + h, 200 + h, :fill => :white)
       r.bind "ButtonPress-1", proc { p `r.id }

       r = TkcRectangle.new(self, 100 + h, 100 + h, 200 + h, 200 + h, :fill => :white)
       r.bind "ButtonPress-1", proc with r do p r.id end

       r = TkcRectangle.new(self, 100 + h, 100 + h, 200 + h, 200 + h, :fill => :white)
       r.bind "ButtonPress-1", proc r->{ p r.id }


>>逆に、ブロック引数は外側のスコープに同名の変数があっても常にブ
>>ロックローカルになる予定です。
>
>なるほど、現在のルールよりクリアな感じがします。

なんて書きましたが、ブロック引数もブロックローカルでないのが一番わかりやすいような
気もしてきて、よくわかりません。


In This Thread