配列の反復処理中にArray#deleteを使用するにはどうすればよいですか?
2023-11-05 14:15:41
質問
配列があり、それを反復処理し、いくつかの要素を削除したいと思います。これは動作しません。
a = [1, 2, 3, 4, 5]
a.each do |x|
next if x < 3
a.delete x
# do something with x
end
a #=> [1, 2, 4]
私は
a
になるように
[1, 2]
. これを回避するにはどうしたらよいでしょうか?
どのように解決するのですか?
a.delete_if { |x| x >= 3 }
メソッドのドキュメントを参照 ここで
更新しました。
ブロック内でxを処理することができる。
a.delete_if do |element|
if element >= 3
do_something_with(element)
true # Make sure the if statement returns true, so it gets marked for deletion
end
end
関連
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] JavaScriptの配列で一意な値をすべて取得する(重複を排除する)。
-
[解決済み] Java の配列を表示する最も簡単な方法は何ですか?
-
[解決済み] JavaScriptで配列を空にするにはどうしたらいいですか?
-
[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
-
[解決済み】オブジェクトの配列を文字列のプロパティ値でソートする
-
[解決済み】PHPの'foreach'は実際どのように動作するのですか?
-
[解決済み】JavaScriptで配列の要素を削除する - delete vs splice
-
[解決済み] Rubyの"==="演算子は何をするのですか?重複] [重複
最新
-
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で「逆レンジ」を繰り返し処理できないのはなぜですか?
-
[解決済み] 最大値のハッシュのキーはどのように見つけるのですか?
-
[解決済み] ルビー 負の数を正の数に変換する?
-
[解決済み] ruby の rescue 節に複数のエラークラスを DRY に渡す方法
-
[解決済み] 既存の文字列に追加する
-
[解決済み] Ruby 配列を関数の引数に変換する
-
[解決済み] FactoryGirlのbuildメソッドとcreateメソッドの違いは何ですか?
-
[解決済み] キュウリのステップを再利用