[ruby-dev:39850] Re: [ruby-cvs:33238] Ruby:r26022 (trunk): * marshal.c (w_object): dump instance variables when using

From: Tanaka Akira <akr@...>
Date: 2009-12-06 23:21:54 UTC
List: ruby-dev #39850
2009年12月7日7:13 Yukihiro Matsumoto <matz@ruby-lang.org>:
> 本来ならオブジェクトの復元に必要な情報はすべてmarshal_dumpで
> 供給されるべきなんでしょうね。そういう意味では、インスタンス
> 変数の復元は行わない方がよいということになるわけですが、すで
> に行ってきているわけで、互換性も気になりますねえ。これは私の
> 設計ミスです。

その設計ミスは指摘して直させたので、
中田さんが再度そうするまではちゃんと行わないようになっています。

% ruby-1.9.1p243 -ve '
class C
 def initialize
   @a = 1
   @cache = STDIN
 end

 def marshal_dump
   [@a]
 end

 def marshal_load(arg)
   @a = arg[0]
 end
end
p Marshal.dump(C.new)
'
ruby 1.9.1p243 (2009-07-16 revision 24175) [i686-linux]
"\x04\bU:\x06C[\x06i\x06"

今回また壊れたのでまた指摘しているという話です。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread

Prev Next