直接读取实例变量
Direct reading of an instance variable
出于某种原因,此代码将起作用:
class Foo
@foo = "foo"
end
Foo.new.@foo # => "foo"
而且我看到,此功能已在标准库规范中使用,但似乎未记录在案。那么,问题是,该功能的状态如何,是否应该使用它?
此功能当前用于内部用途,但讨论用于限制外部对实例变量的访问。类似于 protected
方法的行为可能会有用。
此问题是 crystal-lang/crystal#6066。
我通常会避免使用此功能,因为它没有记录并且很可能在某些时候被更改。
出于某种原因,此代码将起作用:
class Foo
@foo = "foo"
end
Foo.new.@foo # => "foo"
而且我看到,此功能已在标准库规范中使用,但似乎未记录在案。那么,问题是,该功能的状态如何,是否应该使用它?
此功能当前用于内部用途,但讨论用于限制外部对实例变量的访问。类似于 protected
方法的行为可能会有用。
此问题是 crystal-lang/crystal#6066。
我通常会避免使用此功能,因为它没有记录并且很可能在某些时候被更改。