[解決済み] 配列からランダムに選択する方法は?
2022-02-26 11:46:07
質問
もっときれいな方法があれば知りたいです。基本的に、私は可変長の配列からランダムに要素を選びたいのです。 通常、私はこのようにします。
myArray = ["stuff", "widget", "ruby", "goodies", "java", "emerald", "etc" ]
item = myArray[rand(myarray.length)]
2行目を置き換えることで、より読みやすく/よりシンプルになるものはないでしょうか?それともそれがベストな方法なのでしょうか。私はあなたが行うことができると思います
myArray.shuffle.first
が、私が見たのは
#shuffle
は、先ほどSOで紹介されたばかりで、まだ実際に使ってはいません。
解決方法は?
ただ
Array#sample
:
[:foo, :bar].sample # => :foo, or :bar :-)
Ruby 1.9.1+で利用可能です。それ以前のバージョンのRubyでも使えるようにするには、以下のようにします。
require "backports/1.9.1/array/sample"
.
Ruby 1.8.7では、不幸にも
choice
それ以降のバージョンではリネームされているので、使わないでください。
この場合、有用ではありませんが。
sample
には数値の引数を指定できます。
関連
-
[解決済み】Rubyで数値の配列の合計を出すには?
-
[解決済み] RubyのHashをキーでアルファベット順にソートする方法
-
[解決済み] Rubyの配列から文字列への変換
-
[解決済み] Rubyでファイルを移動するにはどうしたらいいですか?
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] PHPで配列から要素を削除する
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Rubyで新しい文字列を作成せずに文字列をトリミングする標準的な方法は何ですか?
-
[解決済み】Ruby: 特定のバージョンのruby gemをインストールする方法は?
-
[解決済み】Ruby:kind_of? vs. instance_of? vs. is_a?
-
[解決済み] Rubyのフィボナッチ数列(再帰)
-
[解決済み] RubyのFile.openで "No such file or directory - text.txt (Errno::ENOENT)" というエラーが発生する。
-
[解決済み] マトリックスサムネーションチャレンジ
-
[解決済み] Rubyの予期しないキーワードの終了、および予期しない入力の終了
-
[解決済み] Rubyでガウス(正規分布)乱数を生成するコード
-
[解決済み] Rubyで指定されたディレクトリが存在するかどうかを確認する方法
-
[解決済み] 好きな「プログラマー」アニメは?