From: "U.Nakamura" Date: 2008-02-13T13:24:35+09:00 Subject: [ruby-dev:33737] Re: [ruby-cvs:22680] Ruby:r15443 (trunk): * bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend, こんにちは、なかむら(う)です。 In message "[ruby-dev:33730] Re: [ruby-cvs:22680] Ruby:r15443 (trunk): * bootstraptest/runner.rb, bootstraptest/test_method.rb, enc/depend," on Feb.13,2008 12:33:38, wrote: | > r15454も含めると変更されたファイル数が膨大になるので個別の確 | > 認はしていませんが、大丈夫なんでしょうか? | | う、気づきませんでした、再確認しておきます。ふと気付いたんですが、Ruby | (というか鬼車) には \Q や \E ってないんですね。 よろしくお願いします(と押し付ける)。 | > というか、動いてるものを大した用もないのに変更すんなとじっち | > ゃんが言ってたんですが、これらの変更は必要な変更なんでしょう | > か? | | 一つの理由は String#gsub のブロック引数の件が非互換の変更の方向で決着し | た場合に備えて先回りしておこうと思ったからです。 こっちの理由は同意できない(変更の方向で決着した時にやればいい) ですねえ。 とはいえ、先回りをしてどっちにころんでも無駄じゃない理由として、 | もう一つが最適化です。String#gsub の文字列引数版は文字列を一回評価するだ | けですが、ブロック引数版だと置換の度にブロックを評価するので、それなりに | 違いが出ます。rexml や rdoc あたりだとアプリケーションレベルでも差が出る | かなぁと思います。 ... ということがあったんだろうとは思いました。 | もっとも enc/depend あたりについては、不要と言われれば確かにそうかもしれ | ません。 一般的なライブラリに関してはどう使われるかわからないので、高 速化して悪いことはないと思います。 enc/dependなどの、ruby構築に使うだけのものや、lib/mkmf.rbみた いに特殊な用途のものに関しては、危険を冒してまで高速化する必 要はないでしょうね。 ま、ついでだから一括して書き換えたということでしょうから、別 にそのことを非難しているわけではないです、はい。 それでは。 -- U.Nakamura