From: Yukihiro Matsumoto Date: 2007-11-29T19:39:21+09:00 Subject: [ruby-dev:32398] Re: test/ruby/test_eval.rb まつもと ゆきひろです In message "Re: [ruby-dev:32391] Re: test/ruby/test_eval.rb" on Wed, 28 Nov 2007 15:30:09 +0900, SASADA Koichi writes: |Yukihiro Matsumoto wrote: |> ところで、{module,class}_evalの時にはreceiverをcrefに積んでほ |> しいって言ったら、それは大変ですか? | | なんか前も同じ話題があったような気がしているのですが. | |#================================================ |CONST = :TOP |class C | CONST = :C |end | |C.module_eval{ | p CONST | def m | p :defined_in_eval | end |} |C.new.m |#================================================ | |1.8 #=> |:TOP |:defined_in_eval | |1.9 #=> |:C |:defined_in_eval | | 1.9 では積んでいる気がします.むしろ,1.8 で積んでいない気がしない |でもないですが,どうなんでしょう.それとも,1.8 の挙動にあわせるべき? これは確認が足りず申し訳ないです。1.9の現状で構いません。1.8 に合わせる必要はありません。 | 自分は cref は積んでいるつもりなんですが,まつもとさんは何度か |YARV では cref を積んでいない,と言っています.私が勘違いしている可 |能性は多々あるので,具体的に「〜〜という結果を出すために / 今はこん |な変な結果が出るので cref を積め」というご指示を頂けると助かります. はい。今回のテストで no class variables available というエラーが出るケースはcrefが積まれていないのだと認識して います。これはcrefをたどろうとしたがリンクリストが空だった時 に起きるエラーのように見えます。