有时我会看到类似的代码
class Thing
def self.add_em(a,b)
a+b
end
end
有时我看到
class Thing
def self.add_em(a,b)
@a=a
@b=b
@a+@b
end
end
何时/为什么应该使用@
实例变量而不是仅使用传递的参数?
我相信一个原因是,如果您想在任何其他方法中使用这些变量,那么实例变量将可用,而基于参数的本地变量将不可用。然而,我经常看到 @ 变量被使用,即使这些变量没有在任何其他方法中使用。
所以我在方法开始时看到@a=a @b=b 的模式,所有传入的参数都被大量使用,但我不清楚为什么它们只是用于该方法。如果它们用于其他方法,这只是一种约定吗?