1
2
这是我在实际生产代码中遇到的一个难题。我写了一份详细的解释,解释了 this blog post . 这是TLDR:Ruby使用了比方法更复杂的算法来解析常量。常量查找例程的一个阶段涉及通过超类链查找定义。这个阶段看起来很像方法查找例程,加深了为什么方法和常量在问题中所示的方式不同的谜团。 解释是这两个超类链例程在它们的位置不同 开始 ,即哪个类是链的根。
对于常量,Ruby不引用接收器,因为常量调用与接收器无关。相反,常量超类查找从在发生常量调用的词法范围中打开的类开始。在本例中,打开的类是
|
Codename K · VB6-如何使窗体排在第二位? 6 年前 |
spice · 条件语句PHP 5.4出现意外“)”错误[重复] 6 年前 |
snuff · c语法的问题-const*const*定义 6 年前 |
DCR · 为什么要触发onclick事件 6 年前 |
ClementNerma · 如何在C中生成“实”常量?[副本] 6 年前 |