< :前の番号
^ :番号順リスト
> :次の番号
P :前の記事(スレッド移動)
N :次の記事
|<:前のスレッド
>|:次のスレッド
^ :返事先
_:自分への返事
>:同じ返事先を持つ記事(前)
<:同じ返事先を持つ記事(後)
---:分割してスレッド表示、再表示
| :分割して(縦)スレッド表示、再表示
~ :スレッドのフレーム消去
.:インデックス
..:インデックスのインデックス
立石です.
以前 ruby-list で行ったブロック変数をブロックに対する局所変数
にできないかということについてですが,コールバックを定義する場
合,定義した場所を意識して変数を付けるわけではなく,コールバッ
クが実行される(変数に値が入る)場所での変数の役割を意識すると思
います.
ブロックを考えた場合でも同じで,ブロックを作った場所でのブロッ
ク変数の役割を考えるわけではなく,ブロックが使われる場所での
変数の役割を考えると思います.
そのため,定義された時点での変数と重なると都合が悪いと思うので
すがどうでしょうか?
たとえば,こんな感じのコードなどを見て思ったのですが…
class Foo
def set_callback(&f)
@callback = f
end
def set_data(data)
@data = data
end
def do_callback
set_data(@callback.call(@data))
end
end
data = 0 # set_data()に渡す引数として data と名前を付けた.
foo = Foo.new
foo.set_data(data)
foo.set_callback{|data| data + 1} # @dataの値が入るものとして data と名前を付けた
foo.do_callback()
--
Takaaki Tateishi <ttate / kt.jaist.ac.jp>