まつもと ゆきひろです

In message "[ruby-dev:8446] [REQ] {enumerable, integer, range}.rand"
    on 99/11/30, Kazunori NISHI <kazunori / swlab.csce.kyushu-u.ac.jp> writes:

|いや、そう言う話でなくて、「配列の中からランダムに要素を抽出したい」と
|いう場合が結構多いですよね?(多いって言(略))。そんな時、
|  id = rand(array.size)
|  array[id]
|とやるよりも、
|  array.rand
|と書きたい!という話です。

そういう場合はありえるでしょうね。

でも、それって rand ではなく、shuffleとかrandomizeではないで
すかねえ。で、名前を別として

|という事で、
|  Enumerable#rand (欲しー!)                   (1)
|  Range#rand (もしくは、rand(a,b))             (2)
|  Integer#rand (Enum があれば不要だけど、勢い) (3)
|が欲しいです。どうでしょうか?

について考察すると、

  (1) 名前が適切ならば採用か。ただし、EnumerableかArrayかは
      まだ考慮の余地あり。
  (2) 「ある範囲の乱数」は欲しいかも。インタフェースは考慮の
      余地あり。
  (3) 整数のメソッドとしてはやや不適切な臭いが。

というのが私の意見です。

                                まつもと ゆきひろ /:|)