从查询结果游标创建数组的最佳方法是什么?
results = @db.query("SELECT * FROM mytable")
我想将 results.each 转换为一个数组并将其存储回结果中。
从查询结果游标创建数组的最佳方法是什么?
results = @db.query("SELECT * FROM mytable")
我想将 results.each 转换为一个数组并将其存储回结果中。
您没有提供太多上下文(您正在使用哪个 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
绝对是可取的,因为它会更有效。