【发布时间】:2011-11-24 14:21:09
【问题描述】:
我正在研究如何实现 Ruby 解释器,但出现了一个问题,但我还没有得到答案。这就是标题中的那个:因为Class (r_cClass) 将super 设置为自身(忽略元类,因为实际上super 是r_cClass 的元类),如果我向@987654326 发送一个方法@object,这将在Class'类的方法表中查找。但是Class'类是Class,所以我不应该最终寻找Class的实例方法吗?但事实并非如此,因为在文档中Class 类方法和Class 实例方法是分开的。在 Ruby 的 eval.c 中的 search_method 中,我没有找到对 Class 类的任何特殊检查。任何人都可以对此有所了解吗?
【问题讨论】:
-
在这么抽象的问题中,给出具体的例子可能是个好主意,比如一个实例方法的例子和一个类方法的例子。
标签: ruby class methods internals metaclass