2011-01-28 8 views
5

私の無知を許しますが、私はここで何かを逃しているに違いありません。私はObjectクラスのルビー1.8.7用instance_evalのドキュメントを見つけることができますが、私はちょうど1.9.2のためにどこでもそれを見つけることができません。私はそれを使用しているので、機能はまだサポートされていることを知っている。そこに移動された秘密の親クラスがありますか?Ruby 1.9.2でinstance_evalはどこに定義されていますか?

答えて

5

あなたはそれ自体が何のスーパークラスを持っていないBasicObjectであることがわかりますObject.superclassあなたが行う場合。 BasicObject.public_methodsを使用すると、そこにはinstance_evalが定義されていることがわかります。 BasicObjectの方法について

ありdoes not seem to be any documentation。私が見

+1

ああ。ドキュメンテーションが存在しない特別な理由はありますか?彼らは 'instance_eval'の使用を妨害しようとしていますか?私は 'method_missing'はどこにも書かれていないことにも気づいたのですか? はまた、BasicObjectの実際のドキュメントはここにある:http://ruby-doc.org/core-1.9/classes/BasicObject.html。 – elmt

+2

私もそのリンクを見つけたが、/ core下のドキュメントは(現在は1.9.2)の最新のためのものであるのに対し、/core-1.9下のドキュメントは1.9のためのものです。 'BasicObject'の定義が[object.c](https://github.com/ruby/ruby/blob/v1_9_0_0/object.c)から[class.c](https:// github)に移動したようです.com/ruby​​/ruby​​/blob/ruby​​_1_9_2/class.c)を1.9から1.9.2に変更しました。これは、コア1.9で見ることができる少量のドキュメントを占める可能性があります。 – mikej

関連する問題