【发布时间】:2015-04-26 22:15:09
【问题描述】:
我正在构建一个 Ruby 对象,该对象在其 initialize 方法中具有默认参数:
attr_accessor :one, :two, :three
def initialize(one: nil, two: nil, three: nil)
@one = one
@two = two
@three = three
end
如您所见,这并不是很干燥,尤其是随着可初始化变量数量的增加。最终,我希望能够遍历每个参数并分配一个实例变量(splat 运算符和instance_variable_set? 的某种组合),但总是有一个定义的预期实例变量列表,如果它们不是' t 定义。
【问题讨论】:
-
您还会为这些变量添加 attr_reader 吗?
-
是的,感谢您的提及!更新了上面的例子!
标签: ruby constructor instance-variables splat