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