rubyの配列のランダムシャッフルのいろいろ

rubyの配列のランダムシャッフルのいろいろ

http://blog.digital-squad.net/article/103143300.html

ary=[1,2,3,4,5] # => [1, 2, 3, 4, 5]

ary[rand(ary.length)] # => [1〜5のいずれか]
)
ary.sort_by{rand} # => [3, 1, 5, 2, 4] 
#[ruby-list:43811]より

http://exposed.egoism.jp/wordpress/?p=384

def shuffle(arr, time=1)
  size = arr.size - 1
  time.times{
    x = rand(size)
    y = rand(size - x) + 1
    tmp = arr.slice!(x + 1, y)
    arr[0, 0] = tmp
  }
  arr
end