From: Masatoshi SEKI Date: 2008-02-11T05:00:44+09:00 Subject: [ruby-dev:33694] Re: erb.rb の仕様について 咳といいます。 On 2008/02/11, at 4:54, Kazuhiro NISHIYAMA wrote: > 西山和広です。 > > At Sun, 10 Feb 2008 08:53:24 +0900, > Masatoshi SEKI wrote: >> >>> 1. ERB#result() で、safe_level が設定されているときに >>> Thread を生成してからその中で eval していますが、 >>> Thread を生成する理由を教えていただけませんか。 >> >> たしか、$SAFEはより大きな値しか設定できないからだったと >> 思います。 >> 呼び出し元の$SAFEが変わってしまうのを避けるためですね。 >> 今ならもっとうまい方法があるかもしれません。 > > いつかなのかは知らないのですが、Threadを使わなくても > procだけで一時的に変更できるようです。 > > % ruby -e 'proc{$SAFE=1; p $SAFE}.call; p $SAFE' > 1 > 0 > % おお。ありがとうございます。 procを作るのももったいなかったりするのかな。 evalするから大差ないか。 できれば今月中に修正したいと思います。