出于某些原因,该代码将起作用:
class Foo
@foo = "foo"
end
Foo.new.@foo # => "foo"
我知道,此功能已在标准库规范中使用,但似乎没有记载。因此,问题是,该功能的状态是什么,应该使用它吗?
答案 0 :(得分:2)
此功能当前用于内部目的,但为了限制对实例变量的外部访问而进行了讨论。类似于motion
方法的行为可能会有用。
此问题是crystal-lang/crystal#6066。
我通常会避免使用此功能,因为该功能尚未记录,并且很可能会在某个时候进行更改。