从查询结果游标创建数组的最佳方法是什么?
results = @db.query("SELECT * FROM mytable")
我想将results.each转换为数组并将其存储回结果中。
答案 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
绝对是可取的,因为它会更有效率。