首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ruby语言中的C 'for‘循环

Ruby语言中的C 'for‘循环
EN

Stack Overflow用户
提问于 2012-07-18 14:02:29
回答 5查看 111关注 0票数 2

我如何用rubysh的方式来表达下一个for循环呢?

代码语言:javascript
复制
for (r = 1; r < R; r++) {
    for (i = 0; i < 4; i++) {
            #do something
            }
}

我想用优雅的ruby语法来表达上面的代码。提前谢谢。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-18 14:10:31

默认情况下,我用Ruby编写的方式是这样的:

代码语言:javascript
复制
for r in 1..(R-1) do
  for i in 0..3 do
    # Do something
  end
end

但更好的方法是利用@PedroNascimento在他的答案中指出的范围特性,使用三个点而不是两个点,以便将最后一项留在范围之外:

代码语言:javascript
复制
for r in 1...R do
  for i in 0...4 do
    # Do something
  end
end

这不仅看起来更好,而且更清楚地表达了代码的含义。

票数 1
EN

Stack Overflow用户

发布于 2012-07-18 14:08:12

代码语言:javascript
复制
1.upto(R-1) { |r|
   4.times {|i| 
      # Do something
   }
}

RubyFiddle

这使用了Integeruptotimes方法。

票数 4
EN

Stack Overflow用户

发布于 2012-07-18 14:28:13

只是为了让它更漂亮:范围也可以有三个点,不包括最后一个数字。因此,如果像这样编写代码,代码的行为会更紧密:

代码语言:javascript
复制
for r in 1...R do
  for i in 0...4 do
    # Do something
  end
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11535126

复制
相关文章

相似问题

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