我可以在循环中将对象添加到数组中,然后在同一行中返回该数组吗?

And*_*rew 1 ruby arrays

我有一些简单的ruby代码,我创建一个Array,创建一堆对象并将它们推入数组,然后返回数组

def create_barcodes(count)
  barcodes = Array.new
  count.times { barcodes.push(Barcode.create) }
  barcodes
end
Run Code Online (Sandbox Code Playgroud)

感觉应该有一种方法可以将其减少到一行或两行,并且至少避免必须barcodes在末尾引用数组,以便返回它.是否有一些聪明的方法让计数循环返回数组?

fon*_*999 8

尝试以下方法:

count.times.map { Barcode.create }
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!


ste*_*lag 8

barcodes = Array.new(count){ Barcode.create }
Run Code Online (Sandbox Code Playgroud)