1. ホーム
  2. ルビー

[解決済み】配列から空白の要素を削除するにはどうすればいいですか?

2022-03-27 14:35:56

質問

次のような配列があります。

cities = ["Kathmandu", "Pokhara", "", "Dharan", "Butwal"]

配列から空白の要素を取り除きたいので、以下のような結果を得たい。

cities = ["Kathmandu", "Pokhara", "Dharan", "Butwal"]

のようなメソッドはありますか? compact をループさせずに行うことはできますか?

どのように解決するのですか?

いろいろな方法がありますが、ひとつは reject

noEmptyCities = cities.reject { |c| c.empty? }

を使用することもできます。 reject! を変更します。 cities をその場で表示します。これは cities を返します。 nil というのは、リジェクトが行われなかった場合です。これは気をつけないとやられる可能性があります(コメントで指摘してくれたninja08さんに感謝)。