小波です。

統計の無作為非復元抽出のシミュレーションのために,配列をシャッフル
する方法を考えていて,次のような処理を思いつきました。これまで
どんくさいやり方をしていたのに比べると(自分では)うまい方法だと
思ったのですが,もっとうまいやり方はないものでしょうか。お付き合い
くださる方がおられましたら,よろしくお願いします。


#!/usr/local/bin/ruby
def shuffle(array)
  s = []
  while array.size > 0
  p = rand(array.size)
    s << array[p]
    array.delete_at(p)
  end
  return s
end

a = ["A","Q","K","J"]
p shuffle(a)