Crystal 是否有像 Ruby 中那样的属性访问器方法?

Jac*_*ard 3 ruby methods attributes accessor crystal-lang

Crystal 编程语言是否具有与 Ruby 的属性访问器方法等效的方法?更具体地说,Crystal 是否具有与以下内容等效的内容?

  • attr_accessor
  • attr_reader
  • attr_writer

And*_*erg 9

是的,它们被定义为宏。

基本上:

红宝石 水晶
属性访问器 财产
属性阅读器 吸气剂
属性编写器 二传手

例子

class Person
  property name
end
Run Code Online (Sandbox Code Playgroud)

等于

class Person
  def name=(@name)
  end

  def name
    @name
  end
end
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅参考资料

  • @Rajagopalan我正在使用Crystal,并且可以在Windows上使用它,但不幸的是我可能无法很好地判断它到底有多有趣(dll支持等),因为我自己不经常使用Windows。如果您使用 WSL,它总是可以几乎充分发挥其潜力,这可能符合也可能不符合真正的“Windows”。长话短说,它还没有一流的支持,但它已经实现了,而且人们正在努力推动实现这一目标。Quote:“Windows 的所有主要平台功能均已完成!” 在这里阅读:https://github.com/crystal-lang/crystal/issues/5430 (2认同)