0

从查询结果游标创建数组的最佳方法是什么?

results = @db.query("SELECT * FROM mytable")

我想将 results.each 转换为一个数组并将其存储回结果中。

4

1 回答 1

0

您没有提供太多上下文(您正在使用哪个 db gem 等)。

但是,我可以想到几种方法:

reuslts.to_a # might not work (depends on how you're accessing the db)

a = []
results.each { |r| a << r } # will definitely work assuming `each` is defined

请记住,该#query方法可能出于充分的理由返回生成器。将结果转换为数组将是毫无意义的内存消耗(并且耗时)。使用#each绝对是可取的,因为它会更有效。

于 2012-09-04T22:37:14.410 回答