直接读取实例变量

时间:2018-07-07 16:53:43

标签: instance-variables crystal-lang undocumented-behavior

出于某些原因,该代码将起作用:

class Foo
  @foo = "foo"
end

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

我知道,此功能已在标准库规范中使用,但似乎没有记载。因此,问题是,该功能的状态是什么,应该使用它吗?

1 个答案:

答案 0 :(得分:2)

此功能当前用于内部目的,但为了限制对实例变量的外部访问而进行了讨论。类似于motion方法的行为可能会有用。

此问题是crystal-lang/crystal#6066

我通常会避免使用此功能,因为该功能尚未记录,并且很可能会在某个时候进行更改。