未初始化的常量A :: B(NameError)

时间:2014-08-17 13:34:48

标签: ruby initialization constants nameerror

这有效:

class A
    def m1
         b = B.new
    end
end

class B
end

这失败了 - 为什么?

class A
   b = B.new
end

class B
end

错误消息"'':未初始化的常量A :: B(NameError)"被激怒了。

1 个答案:

答案 0 :(得分:1)

因为,在第二个代码中,b = B.new在定义B之前进行评估。