1
如果我让@x
延迟加载在A
父类可以称为和初始化就好了,但如果我尝试从A
的子类B
调用它,那么就不会调用@x
的初始化方法并返回nil
。这是为什么?延迟加载
class A
def x
@x ||= 'x'
end
end
puts A.new.x # 'x'
class B < A
def use_x
puts @x.inspect # nil
end
end