ruby从查询结果创建数组

时间:2012-09-04 22:28:37

标签: ruby

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

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

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

1 个答案:

答案 0 :(得分: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绝对是可取的,因为它会更有效率。