标签: 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)"被激怒了。
答案 0 :(得分:1)
因为,在第二个代码中,b = B.new在定义B之前进行评估。
b = B.new
B