From: Tanaka Akira Date: 2004-09-27T12:59:00+09:00 Subject: [ruby-dev:24354] finalizer In article <200409270225.i8R2PDfs014206@sharui.nakada.niregi.kanuma.tochigi.jp>, nobu@ruby-lang.org writes: > これってどうなるのが正しいんでしょうね。 これまでの経験の結果、finalizer の実行を gc から直接行なうのが良くない、 という考えに至りました。 finalizer の実行は、rb_eval などのユーザのコードが動いてもおかしくない タイミングまで遅延する挙動をデフォルトにするほうがよいのではないでしょ うか。 そうすれば、メモリ確保のタイミングでユーザのコードが動いて配列の長さや ら何やらが変わってしまうことを考慮せずに済みます。 仮にそうなるとすれば、x の変化は遅延されて Array#* に影響を与えなくな るので、 > 2. (1..10).to_a * 10 となると考えられます。 -- [田中 哲][たなか あきら][Tanaka Akira]