From: Hal Fulton Date: 2004-03-07T03:07:37+09:00 Subject: Re: random range Charles Comstock wrote: > Why doesn't rand take an integer range and then generate a random number > in between the two? > > Example: > rand(5..10) -> a random number from 5 to 10 including 10 > rand(5...10) -> a random number from 5 to 10 excluding 10 > > That or maybe add rand to range so it picks a random item out of the > range. For that matter why doesn't Array/Hash have a method to return a > random element? > That way [1,2,4].rand and (5..10).rand would work. Charles, We were talking about this in IRC. Maybe you were one of those? :) Someone suggested allowing not just rand(Fixnum) and rand(Range) but in general rand(Enumerable). Someone else said: That's kind of "overloading" the meaning of rand. Well, I can see that might not be appropriate. I think if it were my decision, I'd do something like: 1. Let rand accept a (numeric) Range, since rand is already a numeric kind of thing. 2. Add pick to Enumerable to pick a random element. (See #3) 3. Add pick! also, to do a pick with deletion. (rand! is not an intuitive name) Comments? Hal