松尾です。

# ircで %ruby なチャネルがあったりするといいかも。

From: matz / netlab.co.jp (Yukihiro Matsumoto)

> 名前にとらわれず,「このメソッドの中から呼び返す手続きを指定
> しているもの」と考えると,コールバック関数をその場で記述して
> いるような気分になって,これもまた「表現したいものを直接表現
> している(別の場所でコールバック関数を定義する必要がない,変
> 数を共有できるので無理矢理引数渡しする必要がない)」と言える
> のではないでしょうか?

イテレータを「このメソッドの中から呼び返す手続きを指定しているもの」と
考えると

0. 名が体を表してない

を除外するとして^^;

1. 手続きをyieldという名前で参照しなければならない。
2. 複数の手続きを指定する事が出来ない。
3. 定義済みの関数を渡す時でも、わざわざブロックにしなければならない。

の3点で美しくないと感じちゃいませんか? 一度そう感じてしまうと、なかな
か自然な感じで使い難いんですよね。

# ごめんなさい。無理矢理反論しているわけじゃないんです。でも僕にとって
# の理解の妨げになったのはこの辺でした。単なる関数渡しにしては、変な造
# りだなぁ、と…。

まぁこの辺は決め事ですし、使っていくうちに慣れていくのでしょう。

--

うう。仕事が忙しくて、次のアプリケーションの作成に取り掛かれないT_T