(1..4).collect do |x|
next if x == 3
x + 1
end # => [2, 3, nil, 5]
# desired => [2, 3, 5]
条件next
が満たされた場合、配列にcollect
入れますが、条件が満たされた場合、返された配列に要素をnil
入れないようにしています。delete_if { |x| x == nil }
返された配列を呼び出さずにこれは可能ですか?
(Ruby 1.8.7 を使用。私のコードの抜粋はかなり抽象化されています)