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

yarv-dev:39

From: SASADA Koichi <ko1 atdot.net>
Date: Wed, 19 May 2004 20:14:00 +0900
Subject: [yarv-dev:39] Re: how to initialize ruby environment?

 Shugo Maeda <shugo ruby-lang.org>
 Wed, 19 May 2004 12:14:01 +0900 / [yarv-dev:37] Re: how to initialize ruby environment?
 への返信です。

 ささだです。

>>   module.instance_eval{...}
>> 
>> と大差ないですから(正確には内部で定義されたクラスにwrapperが
>> インクルードされる点が違う)。
>
>この違いがけっこう大きいと判断して、mod_rubyでは、
>
>static VALUE f_eval_string_wrap(VALUE self, VALUE str)
>{
>    if (rb_safe_level() >= 4) {
>	Check_Type(str, T_STRING);
>    }
>    else {
>	Check_SafeStr(str);
>    }
>    return rb_eval_string_wrap(StringValuePtr(str), NULL);
>}
>
>void rb_init_apache()
>{
>    ...
>    rb_define_global_function("eval_string_wrap", f_eval_string_wrap, 1);
>    ...
>}
>
>のようにeval_string_wrapをRubyレベルで見えるようにしておいて、
>
>      binding = eval_string_wrap("binding")
>      eval(str, binding, filename)
>
>なんてことをしていたりします。
>

 私も mod_ruby を念頭において質問してました。今はそのような
実装になっているのですね。

 なるほどなるほど。


--
ML: yarv-dev quickml.atdot.net
使い方: http://www.atdot.net/~ko1/quickml

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

        35 2004-05-18 23:57 [ko1 atdot.net       ] how to initialize ruby environment?     
        36 2004-05-19 11:59 ┗[matz ruby-lang.org  ]                                       
        37 2004-05-19 12:14  ┣[shugo ruby-lang.org ]                                     
->      39 2004-05-19 20:14  ┃┗[ko1 atdot.net       ]                                   
        38 2004-05-19 20:12  ┗[ko1 atdot.net       ]