DrI*_*IDK 5 ruby properties class
在以下示例中,我不了解attr_reader或这样的关键字property:
class Voiture
attr_reader :name
attr_writer :name
property :id, Serial
property :name, String
property :completed_at, DateTime
end
Run Code Online (Sandbox Code Playgroud)
它们如何工作?如何创建自己的?它们是功能,方法吗?
class MyClass
mymagickstuff :hello
end
Run Code Online (Sandbox Code Playgroud)
你会想要给班级打补丁Module。这就是诸如此类的方法attr_reader所在的地方。
class Module
def magic(args)
puts args.inspect
end
end
class A
magic :hello, :hi
end
#=> [:hello, :hi]
Run Code Online (Sandbox Code Playgroud)
正如铁皮人提到的,猴子修补基础级别的类可能很危险。把它想象成时间旅行到过去并在过去添加一些东西。只需确保您添加的内容不会覆盖某些其他事件,否则您可能会返回到与您离开时不同的 Ruby 脚本/时间线。