ruby リファレンスマニュアル FAQ 読む via 0から51の中から重複のない5つをランダムに選ぶにはどうしますか Ruby1.8.7以上ならArray#sample(るびまになかったので「Ruby 1.8.7での新メソッド更新(Array#choice→Array#sample) - http://rubikitch.com/に移転しました」を参照)があるため、 (0..51).to_a.sample(5) が最善です。 ちなみに、それ以前のRubyなら class Array def sample n self.dup.sort_by{rand}[0, n] # Array#shuffleが使える環境ならそちらで end end で同じことができるようになります。 全てシャッフルして最初からn個を取得してるので無駄な計算があります。大量の要素がある配列なら、速度面を考えて要素数を