首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Ruby:如何在一个范围内进行迭代,但是是以设置的增量进行的?

Ruby:如何在一个范围内进行迭代,但是是以设置的增量进行的?
EN

Stack Overflow用户
提问于 2010-12-03 22:10:46
回答 4查看 142K关注 0票数 170

所以我迭代了一个范围,如下所示:

代码语言:javascript
复制
(1..100).each do |n|
    # n = 1
    # n = 2
    # n = 3
    # n = 4
    # n = 5
end

但我想做的是按10进行迭代。

因此,下一个n实际上应该是10,然后是20,30,依此类推,而不是将n增加1。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-03 22:15:19

完整接口请参见http://ruby-doc.org/core/classes/Range.html#M000695

基本上,您使用step()方法。例如:

代码语言:javascript
复制
(10..100).step(10) do |n|
    # n = 10
    # n = 20
    # n = 30
    # ...
end
票数 272
EN

Stack Overflow用户

发布于 2014-02-25 06:09:10

您可以使用Numeric#step

代码语言:javascript
复制
0.step(30,5) do |num|
  puts "number is #{num}"
end
# >> number is 0
# >> number is 5
# >> number is 10
# >> number is 15
# >> number is 20
# >> number is 25
# >> number is 30
票数 14
EN

Stack Overflow用户

发布于 2014-03-12 04:10:11

下面是另一种看起来更熟悉的方法:

代码语言:javascript
复制
for i in (0..10).step(2) do
    puts i
end
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4346335

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档