シャッフル
via http://glu.ttono.us/articles/2007/03/20/snippet-shuffle-an-array
a = (1..10).to_a >> a = (1..10).to_a => [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >> a.sort { rand(3) - 1 } => [6, 8, 1, 4, 5, 9, 7, 2, 3, 10] >> a.sort { rand(3) - 1 } => [4, 10, 5, 8, 9, 6, 7, 2, 3, 1]
ついでに勉強のために
>> def random_pick(arr) >> arr = arr.sort {rand(3) - 1} >> return lambda { ?> arr.size > 0 ? arr.pop : nil >> } >> end => nil >> a => [10, 9, 8, 7, 6, 5, 4, 3, 2, 1] >> b = random_pick(a) => #<Proc:0x010e8c40@(irb):54> >> b.call => 8 >> b.call => 6