From: matz@... (Yukihiro Matsumoto) Date: 2003-10-24T23:37:40+09:00 Subject: [ruby-dev:21707] drb Hash#each まつもと ゆきひろです 実は[ruby-talk:84420]を受けて、Hash#eachは単一の値(assoc)を yieldするようにしました。each_pairは今まで通り2値をyieldしま す。で、この修正を加えたらdrbのtest suiteが動かなくなりまし た。具体的には def test_10_yield_undumped @there.xarray2_hash.each do |k, v| assert_kind_of(String, k) assert_kind_of(DRbObject, v) end end の部分で、eachからassoc(2要素の配列)を示すDRb::Objectが渡さ れ、それをto_aryしようとするもDRb::Objectはto_aryにrespondせ ず、結果としてkにDRb::Objectが、vにnilが代入されてエラーとい う過程のようです。 現在はeachをeach_pairに変更してしのいでいるのですが、これは 望ましくないような気がします。個人的にはdrbがto_aryに対して はDRb::Objectではなく配列を返してくれるか、特異メソッドのな い小さな配列はコピーしてくれると、ありがたいと思っているので すが。 まつもと ゆきひろ /:|)