In article <466E3371.2080705 / sarion.co.jp>,
  "NAKAMURA, Hiroshi" <nakahiro / sarion.co.jp> writes:

>> rand の 4文字という短さには勝てないって...
>
> と言いつつありがとうございます。

勝つことはできないが相手を負かすことはできる、と考えると、
Kernel#srand 廃止とかどうでしょうね。

いますぐ、というわけじゃなくて、普通の人が使っている安定版
ruby に Random が入った後のことですが。

>> Random::MT の中については upto という名前が気になります。
>> upto(10) ならやっぱり 10 までだと思うのですが、ここでは 9 ま
>> でなので名前がよろしくないと思います。すぐに思い付くメソッド
>> 名としては integer があげられるでしょうか。
>
> 同感。JavaではnextBoolean、nextBytes、nextFloat、nextGaussian、nextInt、
> nextLongがあります。「next」というのがpseudoな感じを表してますが、
> SecureRandomにも同じインターフェースを持たせたいと思っているので、不要で
> しょう。また、boolean、gaussianは利用者いない。Longは適合せず、というこ
> とで、
>
> Random#integer(max)
> Ramdom#bytes(size)
> Random#float
>
> くらい? 他に現行APIからの移行先に;

rand よりも integer のほうがユーザの意図を的確に表現できるの
で、rand より短く、int というのもありかな。

Random#int(max_plus_one) 

なお、私は整数の range は悪くないと思います。
6面ダイスに対応するのが rand(1..6) って直感的ですよね。

あと、upto(0) の動作は変な気がします。

% bin/ruby -ve 'p Random::MT.new.upto(0)'
ruby 1.9.0 (2007-06-10 patchlevel 0) [i686-linux]
-1481029930

> floatは不要かなぁ。rand(0)と同じ仕様のつもりですが、rand()でいいじゃん、
> という気がする。

rand よりも長いのが残念ですが、意図をはっきりと表現できるの
で私は好意的に思っています。

> srand()は廃止とかまずいですかね? せめて、srand()は引数を取らないようにし
> たい。

Random::MT#srand はもともとないんですよ。素晴らしいことに。
-- 
[田中 哲][たなか あきら][Tanaka Akira]