配列からランダムな要素を取り出し、それを配列から削除してから要素を戻したいと考えています。配列からランダムな要素を取り出してそれを削除する
sample
を使用して要素を取得すると、index
はどこにあるのかを確認してからdelete_at
を削除しても良い方法がありますか?
配列からランダムな要素を取り出し、それを配列から削除してから要素を戻したいと考えています。配列からランダムな要素を取り出してそれを削除する
sample
を使用して要素を取得すると、index
はどこにあるのかを確認してからdelete_at
を削除しても良い方法がありますか?
array.delete_at(rand(array.length))
これは正しいと思われますが、これはうまくいくと思います。
EDIT:この同じ答えはここにある:Is there a particular function to retrieve then delete random array element?ので、私はこれでいいと思う:D
は何もこの答えに間違っています。たとえそれが一番かわいらしくないとしても、はっきりとシンプルです。 :) – lurker
ほとんどの美しいソリューション:あなたのコードは、あなたがこのポイントにしようとしたものを見せて
array.delete(array.sample)
私はそれが好きです。ランダム要素を削除して返します。私は指数にあまりにも固定されていた。 – MxyL
? http://sscce.org/ –
を参照してください。自然言語で書いています。 – MxyL
可能な複製[ランダムな配列要素を取り出す特定の関数はありますか?](http://stackoverflow.com/questions/10988525/is-there-a-particular-function-to-retrieve-then-delete-ランダム配列要素) – henrikhodne