yarv-dev:854
From: SASADA Koichi <ko1 atdot.net>
Date: Mon, 13 Feb 2006 20:44:05 +0900
Subject: [yarv-dev:854] fixed> Re: open> different scope of eval
ささだです。 雪見酒 wrote: > こんにちは。 > 以下のサンプルはRubyとYARVで結果が異なります。 > > class Hoge > def fuge > eval "EvaluatedConst = 10" > self > end > end > > Hoge.new.fuge > p Hoge::EvaluatedConst > begin > p EvaluatedConst > rescue > puts $! > end > p Hoge.module_eval("remove_const :EvaluatedConst") なんとなく、Ruby と同じ挙動になるようにしました。 なるようにした、というか、なっちゃった、というか。これ、このままにして おいてもいいのかな。 ところで、Ruby 1.9 からは NameError は StandardError を継承していない ので、rescue だけでは trap 出来ないようです。理由がわからずに見当違いの ところをいろいろ探してしまった。 -- // SASADA Koichi at atdot dot net -- ML: yarv-dev quickml.atdot.net 使い方: http://www.atdot.net/~ko1/quickml
786 2006-01-29 17:31 [yukimi_sake mbi.nift] open> different scope of eval 789 2006-01-31 02:47 ┣[ko1 atdot.net ] 790 2006-02-01 00:14 ┃┗[yukimi_sake mbi.nift] 791 2006-02-01 01:20 ┃ ┗[ko1 atdot.net ] -> 854 2006-02-13 20:44 ┗[ko1 atdot.net ] fixed> Re: open> different scope of eval