今天遇到一个问题,怎么都想不明白,请教一下大家以下代码
class A
attr_accessor :a
def search
if false
a = 'aaa'
end
a
end
end
b = A.new
b.a = 'dddd'
p b.search
#=> nil
为什么 search 的返回会是 nil 呢,代码并没有进入 if false, 但是 a 却变成 nil 了。如果单独调用 b.a 输入还是 dddd
FYI 我试过用 Ruby 2.2.4 跟 2.3.1 都是一样的结果