配列から空白要素を削除するにはどうすればいいですか? 質問する

配列から空白要素を削除するにはどうすればいいですか? 質問する

私は次の配列を持っています

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

配列から空白要素を削除して、次の結果を得たいです。

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

compactループなしでそれを実行するような方法はありますか?

ベストアンサー1

これを行うには多くの方法がありますが、1つはreject

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

また、 を使用するreject!と、その場で変更することができます。何かを拒否した場合は戻り値として が返され、拒否されなかった場合はcitiesが返されます。注意しないと、これは問題になる可能性があります (コメントでこれを指摘してくれた ninja08 に感謝します)。citiesnil

おすすめ記事