たとえば、「整数の配列の偶数メンバーだけ消す」みたいのは

a = [1, 2, 3, 4, 5, 6, 7]
a.each {|n| a.delete(n) if n % 2 == 0}
p a

で [1, 3, 5, 7] が返るんで、期待どおりになりますよね。
if n % 2 == 1 にして奇数だけ消そうと思えば [2, 4, 6]
が返るので、これもOK。

んが、条件をなくして全部消そうとして
a.each {|n| a.delete(n)}
にしても [2, 4, 6] が返る理由が説明できませぬ。

-- 
人生を背負い投げ

菊谷 誠(Kikutani Makoto)  kikutani / galaxy.net