[解決済み] Ruby Array find_first object?
2022-04-28 08:28:41
質問
Arrayのドキュメントで何か見逃しているものがありますか? ある基準を満たすオブジェクトを1つまで含む配列を持っています。 そのオブジェクトを効率的に見つけたいと思います。 ドキュメントから得た最良のアイデアはこれです。
candidates = my_array.select { |e| e.satisfies_condition? }
found_it = candidates.first if !candidates.empty?
しかし、私が不満なのは2つの理由です。
-
その
select
最初のヒットでやめることもできたのに、全アレイをトラバースさせられました。 - 候補を平坦化するための(条件付きの)コード行が必要だった。
満足するオブジェクトが0個か1個かを予知している状態では、どちらの操作も無駄が多い。
私が望むのは、次のようなものです。
array.find_first(block)
は、nil またはブロックの評価値が真となる最初のオブジェクトを返し、そのオブジェクトで探索を終了します。
これは自分で書かなければならないのでしょうか? Arrayにある他の素晴らしいメソッドを見ると、それがあるように思えるのですが、ただ見えていないだけなのです。
解決方法は?
あなたの質問を理解していないのか、それとも 列挙可能#find は、あなたが探していたものです。
関連
-
[解決済み】rubyの1e18という数字は何を意味するのか?
-
[解決済み] Rubyのフィボナッチ数列(再帰)
-
[解決済み] gemをインストールできない - makeが内部または外部のコマンド操作可能なプログラムまたはバッチファイルとして認識されない。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列からArrayListを作成する
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?[重複]。
-
[解決済み] Rubyで配列に値が存在するかどうかを確認する方法
-
[解決済み] 新しい配列を作成せずに、既存のJavaScript配列を別の配列で拡張する方法
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】StringからIntegerへの暗黙の変換がない(TypeError)?
-
[解決済み] ルビーオールウェイズ ラウンドアップ
-
[解決済み] Ruby プログラムに一定時間待つように指示する
-
[解決済み] ルビー階乗関数
-
[解決済み] Ruby の .reject! と .delete_if の比較
-
[解決済み] ルビーです。そのようなファイルやディレクトリはありません @ rb_sysopen - testfile (Errno::ENOENT)
-
[解決済み] RubyのFile.openで "No such file or directory - text.txt (Errno::ENOENT)" というエラーが発生する。
-
[解決済み] 配列をアルファベット順に並べるには?
-
[解決済み] Rubyのダブルコロン `::` とは何ですか?
-
[解決済み] ファイルの存在を確認する方法 [重複]について