From: Robert Klemme Date: 2010-10-21T18:55:10+09:00 Subject: Re: generating random argument lists On Thu, Oct 21, 2010 at 10:39 AM, Brian Candler wrote: > Robert Klemme wrote in post #956010: >> On Thu, Oct 21, 2010 at 8:11 AM, Y. NOBUOKA >> wrote: >>> rand(10).times do >>> arr = Array.new >>> rand(10).times { arr << rand(4) } >>> arrays << arr >>> end >>> >>> p arrays >> >> Or: >> >> arrays = Array.new rand 10 do >>   Array.new(rand 5) { rand 4 } >> end >> > > Or: > > arrays = (1..rand(10)).map { (1..rand(5).map { rand(4)) } } It seems there is a bracket misalignment. :-) > That also gives between 0 and 9 arrays, each with between 0 and 4 > elements, each element being between 0 and 3. Note that rand(x) can return 0 so it would be more natural to start ranges at 0 IMHO. Another version with less brackets especially around ranges where I find them ugly: arrays = rand(10).times.map { rand(5).times.map { rand 4 } } Cheers robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/