From: matz@... (Yukihiro Matsumoto) Date: 2003-07-30T16:21:42+09:00 Subject: [ruby-dev:21016] Re: Marshal upgrade まつもと ゆきひろです In message "[ruby-dev:20583] Re: Marshal upgrade" on 03/07/10, Yukihiro Matsumoto writes: |現時点では変更の確認を取りたいのが主目的で、変更される仕様は |固まっていません。 | |最初に考えていたのは | | _dumpが文字列を返す | 今まで通り、フォーマットも同じ。 | _loadには文字列が渡る | | _dumpが文字列以外を返す | w_objectの対象にする。 | フォーマットは違う(新しいTYPEを導入する) | _loadにはオブジェクトが渡る | |というので、これだとAPI的な変更が最小限で済むのですが、循環 |問題が解決しないので、再考を余儀なくされています。 | |まあ、現時点では咳さんの変更の承諾が得られたことが重要と。 というわけで、preview5以後に突っ込んでしまいました。仕様は * まったく独立なmarshal_dumpメソッド、marshal_loadメソッド を使う。両方ともインスタンスメソッド。 * marshal_dumpメソッドは引数を取らない。任意のオブジェクト を返す。Marshal.dumpは返されたオブジェクトをdumpする。 * marshal_loadメソッドはmarshal_dumpが返したオブジェクトの コピーを受け取り、元の状態を復元する。marshal_loadのレシー バはallocateされたばかり(initializeが呼ばれていない)オブ ジェクト。 です。現時点ではmarshal_dumpを定義しているオブジェクトが存在 しないので、Marshal結果はは同じものになるはずです。フォーマッ トのマイナーバージョンは変化させません(4.8のまま)。 ということで、よろしく。preview5以後の変更が意外と大きいので、 preview6が必要な気がしてきました。 明日あたり出すかな。 まつもと ゆきひろ /:|)