David Flanagan wrote:
> How about accepting a Range object as the argument to methods like 
> integer, float, and rand.  If a single numeric value is passed, then 0 
> is the implicit lower bound.  Otherwise the argument is a range that 
> specifies both the upper and lower bound.

I second this. The idiom "a+rand(b-a)" is just too frequent and deserves 
to be expressed as "rand(a...b)"

Also I think it could be nice to have something like this:
   five = Random.new(saved_seed, 5)
   five.rand #=>number in 0...5
   five.rand #=>another number in 0...5 (reproducible sequence)

Daniel