まつもと ゆきひろです

In message "[ruby-list:6203] Re: Ruby連載 第3回"
    on 98/02/03, Shin-ichiro HARA <sinara / blade.nagaokaut.ac.jp> writes:

|原です。

||0. 名が体を表してない

|  イテレータおよびイテレータブロックという言葉は廃止し、
|  「全てのメソッドはブロックを伴える」とする。
|
|   iterator? の語源を聞かれたら知らんふりする。
|
|こうすると新しい名前を考えなくてすむでしょう?(^_^)

乱暴(ぼそっ).でも0回繰り返しのアイディアはいただきです.

|ああ、これもそう思いました。最初イテレータブロックはそのまま、
|渡るのかと思いました。つまり、
|
|  def foo(n)
|    for item in n
|      foo(item)
|    end
|  end
|
|でいいのかと。渡したくない場合は
|
|  def foo(n)
|    for item in n
|      foo(item){}
|    end
|  end
|
|とわざわざすることになるけど。

なんか,昔の実装ではそうなってました.1.0のはるか以前のこと
ですけど.イテレータかどうかで挙動の変わるメソッドがのきなみ
発狂しそうになる,というのが現在のようになった理由だったはず
です.予約語増えるのは嫌だけど

  def foo(n)
    for item in n
      foo(item) {pass}
    end
  end

なんてのは実装できるかなあ.この場合のpassはメソッドです.
# あと手続きオブジェクトのイテレータブロック化もできると嬉し
# いことですよね.
                                まつもと ゆきひろ /:|)