我想知道是否有任何优雅的方式来实现以下方法的循环。我只能想出一个常规的while循环(Java程序员)作为以下伪代码:
while x<10
search = Google::Search::Web.new()
search.query = "china"
search.start = x
end有人知道更好的方法吗?
发布于 2011-01-12 02:07:26
你想做这样的事情吗?
(1..9).each do |i|
search = Google::Search::Web.new()
search.query = "china"
search.start = i
end这将使用start at 1运行查询,然后从2开始,一直向上到9。1..9语法是一个范围,两端都包含。
更新:(1..9).each可能是ruby中最惯用的方式,但Jonas Elfström发布了一个很酷的链接,快速演示了一些替代方法:
http://alicebobandmallory.com/articles/2010/06/21/a-simple-loop
发布于 2011-01-12 02:16:35
有许多替代方案:
# Will go 0..9
10.times do |i|
search = Google::Search::Web.new()
search.query = "china"
search.start = i
end
# Will go 1..10
1.upto(10) do |i|
search = Google::Search::Web.new()
search.query = "china"
search.start = i
end
# Will go 1..10
(1..10).each do |i|
search = Google::Search::Web.new()
search.query = "china"
search.start = i
end发布于 2011-01-12 02:16:46
10.times do |i|
search = Google::Search::Web.new()
search.query = "china"
search.start = x
loop整数具有times方法,该方法接受一个块并循环n次,其中n是数字。
https://stackoverflow.com/questions/4660956
复制相似问题