"Biz360 spider (blogsmanager@biz360.com; http://www.biz360.com)"
"Modiphibot/0.9 (Rev.Nagayama1; http://www.modiphi.com/)"
"Mozilla/5.0 (SnapPreviewBot) Gecko/20061206 Firefox/1.5.0.9"
"disco/Nutch-1.0-dev (experimental crawler; www.discoveryengine.com; disco-crawl@discoveryengine.com)"
core.rbのコードは、eval.cのdefine_methodのとこに載ってる方法とだいたい同じなのね。instance_evalの中でdefine_methodしてるぐらいの違いしかない。ということはRubyのバグじゃないのか。
どうでもいいけど、Rubyは低レベルなところを抽象化してくれてるだけで、その思想とか哲学自体が変更可能だ。つまり、仕様は無いからソース読め。
あれ、クラスメソッドとモジュールメソッドって、意味的に、何か違うの?違わんらしい。どのみちクラスかモジュールの特異メソッド扱い。
instance_eval(rb_obj_instance_eval())の中では特異クラス扱いなのね。ということは、instance_evalする時に呼び元がModuleかClassなら特別視する必要がある?でなければUnboundMethod::bind()かModule::instance_module()あたり。でもあれか。クラスの特異クラスって今のRubyには無いよな。じゃあエラーになるのはやっぱり変か。