这里是一些代码:
class Person
def initialize(age)
@age = age
end
def age
@age
end
def age_difference_with(other_person)
(self.age - other_person.age).abs
end
protected :age
end
我想知道在age_difference_with
方法中使用@age
和self.age
的区别。
@age
,直接引用age
会更清晰。age
可能有两种形式:(attr) age
和(method) age
。调用self.age将调用(method) age
,通常只是(attr) age
,但即使存在(method) age
,@age
也会调用(attr) age
。 - financial_physician