ごとけんです

In message "[ruby-dev:8449] Re: [REQ] {enumerable, integer, range}.rand"
    on 99/11/30, Yukihiro Matsumoto <matz / netlab.co.jp> writes:

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

>  (1) 名前が適切ならば採用か。ただし、EnumerableかArrayかは
>      まだ考慮の余地あり。

Enumerable#random ってのはどうでしょう。あと、Array#random! 
もあっても良さそう。これは random に要素を抜き取るものです。

Enumerable#shuffle と Array#shuffle! もあっていいかも知れま
せんね(これつぐさんのおっしゃる挙動[ruby-dev:8459]のもの)。

>  (2) 「ある範囲の乱数」は欲しいかも。インタフェースは考慮の
>      余地あり。

rand(10..100) がいいんではないでしょうか。firstかlastがFloat 
だったらその範囲のFloatを返すということで。両端がNumericでな
い場合は例外。

>  (3) 整数のメソッドとしてはやや不適切な臭いが。

ですよね ;-)

-- gotoken