如何将.each中的所有元素消耗到数组中?

问题描述 投票:0回答:1

我有自己的课程(无论如何我不想修改):

class Foo
  def each
    # iterate over some database
    yield item
  end
end

现在,我想把它变成一个数组。我正在这样做:

f = Foo.new
array = []
f.each do |i|
  array << i
end

是否可以在一行中完成此操作?比如:

array = to_array(f)

Ruby 中有类似

to_array
的函数吗?我知道,我可以自己写,但也许它已经存在了?我在每个项目中都需要它。

ruby
1个回答
0
投票

如果

Foo
实现
#each
,只需将其包含
Enumerable
mixin。

© www.soinside.com 2019 - 2024. All rights reserved.