クエリ結果カーソルから配列を作成する最適な方法は何ですか?
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
する方が効率的であるため、使用することをお勧めします。