我正在编写一个使用Mysql2 gem访问MySQL数据库的Ruby脚本。
从查询中获取一组结果后,我想检查结果集的行的子集(例如,行5到8),而不是整个集。
我知道我可以用while循环执行此操作,如下所示:
db = Mysql2::Client.new(:host => "myserver", :username => "user", :password => "pass", :database => "books")
rs = db.query "select * from bookslist"
i = 5
while i <= 8
puts rs.entries[i]
i += 1
end
db.close
但是我知道这可能不是在Ruby中编写它的最好方法。我怎样才能使这更多的&#34;惯用&#34; Ruby代码?
(我知道我的另一个选择是修改查询以仅返回我想要的数据。我仍然想知道如何在Ruby中执行此操作)
答案 0 :(得分:1)
Ruby在for循环中提供了范围运算符,可能你可以使用以下代码
for i in 5..8
puts rs.entries[i]
end