たとえば、「整数の配列の偶数メンバーだけ消す」みたいのは
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