只是好奇,假设设置了attr_accessor,从类中访问实例变量的最佳实践是什么.
class Test
attr_accessor :user
def initializer(user)
@user = user
end
def foo
@user
end
end
Run Code Online (Sandbox Code Playgroud)
要么
class Test
attr_accessor :user
def initializer(user)
@user = user
end
def foo
self.user
end
end
Run Code Online (Sandbox Code Playgroud)
那么通过实例变量(@user)或getter方法(Test#user)?
Getter方法,因为它更容易重构.假设您要在访问点更新时间戳.
class Test
def user
@user.last_read = Time.now
@user
end
end
Run Code Online (Sandbox Code Playgroud)
并且所有引用user都使用新逻辑进行更新.如果你的参考不是那么容易@user.
| 归档时间: |
|
| 查看次数: |
2230 次 |
| 最近记录: |