From: "K.Kosako" Date: 2001-06-01T17:42:13+09:00 Subject: [ruby-dev:13432] hash.c (replace_i): ignore when key == Qundef. ハッシュのイテレート中に、そのハッシュのある要素を削除して、 他のハッシュへreplaceするとAbortします。 (この報告を最後に、当分の間休みます。) h = { 10 => 100, 20 => 200 } h2 = { } h.each { |k, v| if (k == 10) h.delete(10) h2.replace(h) # => Abort core dumped end } --- hash.c.orig Tue Feb 13 14:10:43 2001 +++ hash.c Fri Jun 1 17:26:24 2001 @@ -510,7 +510,9 @@ replace_i(key, val, hash) VALUE key, val, hash; { - rb_hash_aset(hash, key, val); + if (key != Qundef) + rb_hash_aset(hash, key, val); + return ST_CONTINUE; } ---- 小迫@ソフネック 渋谷区恵比寿1-15-1