咳といいます。

明日、調べようと思ってます。

> 実は[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が代入されてエラーとい
> う過程のようです。

vがUndumpedなので、assocの参照が届いていて、それに対して
to_aryすると、Arrayが返るのですが、Undumpedが含まれるので
Arrayのコピーでなく参照が届いてしまうのかもしれません。


> 現在はeachをeach_pairに変更してしのいでいるのですが、これは
> 望ましくないような気がします。個人的にはdrbがto_aryに対して
> はDRb::Objectではなく配列を返してくれるか、特異メソッドのな
> い小さな配列はコピーしてくれると、ありがたいと思っているので
> すが。

ちょっと悩んでみます。
to_aryって、どういう役割のメソッドでしたっけ。