私は次の配列を持っています
cities = ["Kathmandu", "Pokhara", "", "Dharan", "Butwal"]
配列から空白要素を削除して、次の結果を得たいです。
cities = ["Kathmandu", "Pokhara", "Dharan", "Butwal"]
compact
ループなしでそれを実行するような方法はありますか?
ベストアンサー1
これを行うには多くの方法がありますが、1つはreject
noEmptyCities = cities.reject { |c| c.empty? }
また、 を使用するreject!
と、その場で変更することができます。何かを拒否した場合は戻り値として が返され、拒否されなかった場合はcities
が返されます。注意しないと、これは問題になる可能性があります (コメントでこれを指摘してくれた ninja08 に感謝します)。cities
nil