[#38470] ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...>

青木です。

25 messages 2003/10/07
[#38475] Re: ruby-dev summary 21403-21530 (draft) — maili31s@... (SugHimsi==SUGIHARA Hiroshi) 2003/10/07

すぎむし。

[#38480] Re: ruby-dev summary 21403-21530 (draft) — Minero Aoki <aamine@...> 2003/10/08

青木です。

[#38481] marshal_dump (was Re: ) — m_seki@... 2003/10/08

[#38484] Re: marshal_dump (was Re: ) — matz@... (Yukihiro Matsumoto) 2003/10/09

まつもと ゆきひろです

[#38486] Re: marshal_dump (was Re: ) — Masatoshi Seki <m_seki@...> 2003/10/09

咳といいます

[#38489] exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to>

<http://www.unixuser.org/~ysjj/diary/?200310a&to=200310082#200310082>

29 messages 2003/10/09
[#38490] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/09

新井です。

[#38503] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/10

In Message-Id: <20031010.082218.74733862.JCA02266@nifty.ne.jp>

[#38505] Re: exit status on exit! — Koji Arai <JCA02266@...> 2003/10/10

新井です。

[#38507] Re: exit status on exit! — matz@... (Yukihiro Matsumoto) 2003/10/11

まつもと ゆきひろです

[#38514] Re: exit status on exit! — YANAGAWA Kazuhisa <kjana@...4lab.to> 2003/10/11

In Message-Id: <1065883639.405037.23137.nullmailer@picachu.netlab.jp>

[#38515] Re: exit status on exit! — WATANABE Hirofumi <eban@...> 2003/10/11

わたなべです。

[ruby-list:38540] Re: ruby-dev summary 21531-21607 (draft)

From: "NAKAMURA, Hiroshi" <nakahiro@...>
Date: 2003-10-14 01:18:58 UTC
List: ruby-list #38540
なひです。

> From: "Kazuo Saito" <ksaito@uranus.dti.ne.jp>
> Sent: Monday, October 13, 2003 4:48 PM

> 今週分の ruby-dev summary です。

いつもありがとうございます。

> [ruby-dev:21590] extend with marshal_dump/marshal_load
> 
>  NAKAMURA, Hiroshi and Matz talked about keeping 'extend' information of 
> marshaled object.

この件なのですが、

>  It is ignored by default.

extendの情報は、デフォルトではmarshalled(英)/marshaled(米)
objectに書き出されます。ので、ignoreされない、という言い方に
なるような気がします。

>  When users define original marshal_dump and 
> marshal_load, they are responsible
>  for supporting the information by themselves.

ここはその通りです。"original marshal_dump"というのが
ちょっとわかりにくい気がしますが、どうでしょう。

まとめると、何もしないと書き出されますが、ユーザがカスタムの
marshal_dump/marshal_loadペアを定義すると、ivarとextendは
書き出されないため、ユーザが自分の責任で書き出すなり警告
するなりしないといけません。

>  Matz showed us an example how to dump and load such objects
>  correctly in [ruby-dev:21593].  In following example, objects
>  of class Quux can be dumped and loaded.  Notice that class Foo
>  and Bar does not needed to concern about marshaling 'extend' info.
> 
>  This example is already applied some patches by NaHi in
>  [ruby-dev:21595] to original one:

>     extends = (class << self; self; end).ancestors - self.class.ancestors - [ExtendMarshal]

この[ExtendMarshal]の除外はmisleadingな気がしますが、
あんまり後から手を入れるのもよくないかな。

あと一点、前回のruby-dev summaryで、

  Matz decided to dump/restore instance variables automatically,
  even if #_dump/#marshal_dump is defined. 

というのがありますが、これはこのあと元に戻ったので、説明があったほうが
混乱が少ないかもしれません。しかし、説明を始めると長そうだし、
「ruby-dev summary」として、ない話を取り出してきてサマリを作る
というのもヘンな気がします。というわけで、

  _dump/_load、marshal_dump/marshal_load共に変更が入った、
  詳しくはソース見ろ、marshal_dump/marshal_loadはまだもう少し
  変更が入りそう。

とか?

In This Thread