From: keiju@... (Keiju ISHITSUKA) Date: 1997-07-29T07:11:44+09:00 Subject: [ruby-dev:6] Re: [ruby-list:3517] Re: meta programming features けいじゅ@今はフリー(^^;;;です. In [ruby-dev :00003 ] the message: "[ruby-dev:3] Re: [ruby-list:3517] Re: meta programming features ", on Jul/28 23:53(JST) matz@netlab.co.jp (Yukihiro Matsumoto) writes: >|# ruby-dev1号になるかな?? >すいません.うまくいってないようです. (;_; でも, 後で出したのがそうなったからいいや(^^;;; >こんどはどうでしょう(CCした). うまくいったようです. >Module#eval(仮名)ではselfとthe_class(メソッドと定数の定義先) >だけを置き換えてevalするようにすれば,ローカル変数を経由して >値を渡せると思います.どうでしょう. >bar = Bar >FooClass.eval "Foo = bar" なるなる. 一般のバインディング指定evalでなくて, Module#eval(仮名)に限 定すれば, 実現可能になるわけですか!! それであれば全然問題ないです!! その方が, APIは少なくなりますし, 応用は効くしいいんじゃないでしょうか? とはいえ, selfが変わるとなると, 若干動作で気をつけなくてはいけない点が 出てくるのかな? FooClass.eval "Foo = a_method" は, selfつまり, FooClassからみたa_methodになるわけですね? そうすると, FooClass.eval "Foo = var" も FooClassから見たvarにならない?? どうなっているんじゃ??? ローカル変数が優先されているのかな? それともそ の逆になる? >|じゃあ. 今な感じでaliasを採用するのはどうですかね? ケアレスミスは避け >|ることができるようになると思いますし... >その線でいきましょう. 了解. 名前は任せました. __ .........................................石塚 圭樹@今はフリー(^^;;... ------->>また, アドレス変わりました!! e-mail: keiju@bc.mbn.or.jp <<---