ふと気がついたのですが、 % ruby -e 't = Time.new def t.m() end p t.m t2 = Marshal.load(Marshal.dump(t)) p t2.m ' nil -e:5: undefined method `m' for Fri Jan 16 02:21:00 JST 2004:Time (NoMethodError) というように、Time のインスタンスに特異メソッドをつけても marshal でき るのは、 % ruby -e 't = Object.new def t.m() end p t.m t2 = Marshal.load(Marshal.dump(t)) p t2.m ' nil -e:4:in `dump': singleton can't be dumped (TypeError) from -e:4 というように Object のでは特異メソッドをつけると marshal できないとい うのと一貫してないんじゃないでしょうか。 -- [田中 哲][たなか あきら][Tanaka Akira]