直接读取实例变量



由于某种原因,此代码将起作用:

class Foo
@foo = "foo"
end
Foo.new.@foo # => "foo"

我明白了,此功能已在标准库规范中使用,但它似乎没有记录在案。所以,问题是,该功能的状态是什么,应该使用它吗?

此功能目前用于内部目的,但讨论它是为了限制对实例变量的外部访问。类似于protected方法的行为可能很有用。

这个问题是 crystal-lang/crystal#6066。

我通常会避免使用此功能,因为它没有文档,并且很可能在某些时候被更改。

相关内容

  • 没有找到相关文章

最新更新