[前][次][番号順一覧][スレッド一覧][生データ]

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