すぎむし。

On Tue, 7 Oct 2003 17:41 JST, Minero Aoki wrote:

: ruby-dev summary は何やってんのかよくわからん、
: という声があるようなので、試験的に ruby-list で
: いつもの作業をやってみようと思います。ここで流す
: 分は草稿なので、間違っているところや、英語として
: おかしいところなどは指摘してくださると助かります。
: 
: では以下 ruby-dev summary の今週分 21403-21530 です。

以下(だいたい)英語のみ。

: [ruby-dev:21416] return value of #warn

[解説] 上記の番号はスレッド起点ですが、以下の内容はスレッド
全体から取られています。以下同様。

:   In current 1.8, #warn returns its argument.  U.Nakamura
:   reported that #warn returns undetermined value on -W0.
:   This bug is fixed and return value is changed to nil.
    ↑
    The return value is fixed to nil.
    The fixed return value is nil.
  とか。


: [ruby-dev:21176] marshalling ivtbl of Time

:   In old 1.8,

# 前からお聞きしたかったんですが、あおきさんの感覚では、
# 何日くらい前から過去が‘old’にあたるんでしょうか?

    At the beginning of 1.8,

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

:               ruby did not dump instance variables if
:   #_dump or #marshal_dump is defined.  Almost all built-in
:   classes do not have #_dump/#marshal_dump, but Time has
:   #_dump method.

    Fortunately, almost ..., except Time (it has #_dump).

:                   So instance variables of Time objects
:   do not dumped. e.g.

    will not be dumped かな?

:     % ruby -e '
:         t = Time.now
:         t.instance_eval { @ivar = 3 }
:         Marshal.load(Marshal.dump(t)).instance_eval { p @ivar }
:     '
:     nil
: 
:   そこで _dump や marshal_dump が定義されて
:   いてもインスタンス変数は自動的にダンプする
:   ように変更された。
                      ただし、

:     * インスタンス変数にシリアライズ不可能な
:       オブジェクトが代入されている
: 
:   場合はエラーではなく無視するようになった。
    これは
:         シリアライズ不可能なオブジェクトが
:   インスタンス変数に入っているとエラーになって
:   しまう
          ためである。

  の方がすっきりしそうですが。

:   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-dev:21498] {test,lib}/ChangeLog?

  全体いかにも言葉足らずに思えますので、長めに:

:   We are writing all change logs in one file now,
:   ChangeLog.

    Now Changelog file contains ruby's whole changes,
    including test/*, lib/*, etc.

:               But there are other schemes to store
:   change log  e.g. one file per one directory.

    ... schemes of logging, e.g. ...

:   NAKAMURA Hiroshi asked where we should write a log of
:   test scripts.

                 ... asked what our scheme should be;
    where to log for test scripts, for example.

:   Matz replied he prefers to use one big ChangeLog file.
                            ^^^^^^
                            不要


: [ruby-dev:21508] eval BEGIN/END at runtime

:   NAKAMURA Hiroshi asked about feature of BEGIN/END block.
                           how appropriate is current ...
    behavior.
  という感じ?

:   See following script:
: 
:     eval 'BEGIN { puts "begin" }
:           END { puts "end" }'
:     puts '----'
: 
:   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
:   ruby process.
: 
:   Matz replied this is a feature.
                ^\_that

-- 
SugHimsi == SUGIHARA Hiroshi
maili31s / clio.ne.jp
20分。だいたいいつもこんな調子です。