rejectメソッドを使った場合。
ary = ["hoge", "bar", "", "baz"]
p ary.reject { |el| el.empty? }
=> ["hoge", "bar", "baz"]
省略すると以下のように書ける。
p ary.reject(&:empty?)
=> ["hoge", "bar", "baz"]
rejectメソッドは、ブロックの戻り値が真になった要素を除外し、配列を返す。つまりこの場合、empty?
で空の要素を識別し、空であれば除外している。
よって、""
が除外された配列が返されている。