This questionは、 sampleを使用して配列からランダムな要素を選択する方法について説明していますが、毎回一意の要素を選択して、これを複数回実行したいと考えています。
私が考えることができる最も簡単な解決策は次のようなものですが、(元の配列を変更せずに) もっと簡単な方法が必要だと思います:
myArray = ["stuff", "widget", "ruby", "goodies", "java", "emerald", "etc" ]
selected = []
first = myArray.sample
selected << first
second = myArray.sample
while(selected.include? second) do
second = myArray.sample
end
selected << second
編集:
私の特定のケースでは、すぐに次々と呼び出すわけではないので、サンプルで引数を使用しても役に立ちません