例えば:
a = [1,2,3,4,5]
a.delete_if { |x| x > 3 }
次と同等です。
a = [1,2,3,4,5]
a.delete_if.each.each.each.each { |x| x > 3 }
a.delete_if
私は列挙子を返すことを知っています。each
しかし、ブロックが true を返したときに、オブジェクトを削除する必要があることをどのように判断するのでしょうか? delete_if
手で (そして Ruby で)実装する方法は?