在Ruby中,我有一个具有数组的对象.我希望迭代数组中的值,但数组中至少需要有一项.我知道我可以做这样的事情:
if object.initial_array.empty?
object.initial_array << "foo"
end
object.initial_array.each do ...
但我希望能够在一条线上做到这一点.枚举数组并在为空时指定默认值的最简洁方法是什么?
在Ruby中,我有一个具有数组的对象.我希望迭代数组中的值,但数组中至少需要有一项.我知道我可以做这样的事情:
if object.initial_array.empty?
object.initial_array << "foo"
end
object.initial_array.each do ...
但我希望能够在一条线上做到这一点.枚举数组并在为空时指定默认值的最简洁方法是什么?
只需使您的initial_array
方法具有默认设置,如下所示:
attr_accessor :initial_array
def initial_array
@initial_array.presence || @initial_array = %w[foo]
end