青木です。

必要そうなところだけリプライします。
基本的に沈黙は了解の意、で。

  In mail "[ruby-list:38475] Re: ruby-dev summary 21403-21530 (draft)"
    maili31s / clio.ne.jp (SugHimsi==SUGIHARA Hiroshi) wrote:

> すぎむし。

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


> : [ruby-dev:21176] marshalling ivtbl of Time
> 
> :   In old 1.8,
> 
> # 前からお聞きしたかったんですが、あおきさんの感覚では、
> # 何日くらい前から過去が‘old’にあたるんでしょうか?

んー、元メールに「ちょっと前の 1.8 では」って書いてあったのを
訳しただけです。


>     At the beginning of 1.8,
> 
>   というか実質 In 1.8.0 release, なわけだから、以下の文が
> 過去形である必要があるやらないやら。

いや、1.8.0 ではないんです。
ちょっとややこしいのでタイムテーブルを作りました。

1.8 ブランチ (main trunk)
  |
  |
1.8.0 リリース  2003-08-04  marshal.c:1.95
  |
  |    2003-08-09  marshal.c:1.98--- marshal_dump が定義されていても IO を自動マーシャルしてエラーになってしまう問題 (*1) を回避するため、marshal_dump が定義されているときはインスタンス変数をダンプしないことになった…… つまり、実行例はこのころの ruby でなければならない
  |
  |    2003-08-11  [ruby-dev:21176]--- Time#_dump があるので Time のインスタンス変数がマーシャライズされないという報告(該当スレッドのルート)
  |
  |    2003-10-02  marshal.c:1.100--- 再度 generic インスタンス変数をダンプするようになるついでにインスタンス変数はすべてダンプするようになる
  |
  |    2003-10-03  [ruby-dev:21475]--- (*1) の問題が復活しているという指摘
  |
  |    2003-10-04  marshal.c:1.101--- ダンプできないものがあったらエラーではなく無視するように変更
  |
  |    その後、細々とバグフィックスが入る
  ↓
CVS HEAD  2003-10-08    marshal.c:1.103


> :                   So instance variables of Time objects
> :   do not dumped. e.g.
> 
>     will not be dumped かな?

ですね。


> :   Matz decided to dump/restore instance variables
> :   automatically, even if #_dump/#marshal_dump is defined.
>     But if there is an unserializable object in the variable
>     (e.g. IO),
> :             ruby does not raise exception, just ignore it
>                    will                    --              ,
>     so as not to dump unserializable objects.
> :                                                   See
> :   following example for changes.
> : 
> :     % cat marshal_io
> 
>   の前にヴァージョン情報要りません?

後で % ruby-1.8.0 marshal_io のようにバージョン付きで
実行してるのでよいかと。


> :   Ruby prints "begin", "----", then "end".  So, when we
> :   execute BEGIN/END in eval, BEGIN block is executed
> :   at beginning of eval, END block is executed at end of
>       ^\_the                                      ^\_the

the いつも忘れますね、the。
-------------------------------------------------------------------
青木峰郎