From: Koretsugu Daigoro Date: 1999-11-30T08:10:02+09:00 Subject: [ruby-dev:8447] Re: [REQ] {enumerable, integer, range}.rand これつぐです。 [ruby-dev:8446] [REQ] {enumerable, integer, range}.rand > 西@九大です。 > rand なんかは基本的には builtin の方がいいですが、インスタンスメソッド > でも使いたいと思う時って、よくありますよね?(あるって言ってー!) 私もあります。 > という事で、 > Enumerable#rand (欲しー!) > Range#rand (もしくは、rand(a,b)) > Integer#rand (Enum があれば不要だけど、勢い) > が欲しいです。どうでしょうか? 需要はあると思うんですけど、 これはちょっとやりすぎのような気もします。 どうしてもやるんだったら、 引数によって rand の振る舞いが違うほうがいいような気がします。 こんな感じでしょうか? alias _rand rand def rand(arg) if arg.kind_of?(Enumerable) arg.to_a[_rand(arg.size)] else _rand(arg) end end