原です。

In message "[ruby-dev:8509] Re: [REQ] {enumerable, integer, range}.rand"
    on 99/12/03, Yukihiro Matsumoto <matz / netlab.co.jp> writes:
|
|まつもと ゆきひろです

|||引数が Numeric であれば、(0...numeric) だと判断し、引数のオブジェクト
|||が表現する要素群の中から、1つの要素をランダムに選択し、返す。
||
||Enumerable には反対でしたが、これなら納得出来ます。なんとなくクリスマス、
||正月向けで楽しそうだし。:-)
|
|ふにゃ? 私はなぜ原先生がこれに納得できるのか良く分からない
|のですが。なにか深い考えがあるのかしら?

いや、本来はダブルディスパッチで提供すべきかと思いますが、私は単に
「rand なんて正月以外滅多に使わない(偏見)。だから、基本的なクラスに対
する任意抽出が提供されていればいい。後はユーザーに任せる。」というつもり
でした。(^^;まあでもやはり、基底レベルのモジュールに、下位のクラスの情報
を埋め込んでしまうのは気持ち悪いですね。

||Enumerable には、first (最初の1つ)さえ無いのだから、rand はちょっとヤ
||リスギだと思っていました。あと、やっぱり非決定的なもののジェネレータは一
||箇所に集中していた方がなんとなく気分がいい感じがするし。
|
|「非決定的なもののジェネレータ」ってrandのこと?

そういう意味でした。ランダムなものの発生はどこか一箇所で集中してやるべき
かと。(「時間」を Time が集中して扱っている様に?)「どこか」って、やっ
ぱりコレクションオブジェクトという事になるのかなあ。