我如何用rubysh的方式来表达下一个for循环呢?
for (r = 1; r < R; r++) {
for (i = 0; i < 4; i++) {
#do something
}
}我想用优雅的ruby语法来表达上面的代码。提前谢谢。
发布于 2012-07-18 14:10:31
默认情况下,我用Ruby编写的方式是这样的:
for r in 1..(R-1) do
for i in 0..3 do
# Do something
end
end但更好的方法是利用@PedroNascimento在他的答案中指出的范围特性,使用三个点而不是两个点,以便将最后一项留在范围之外:
for r in 1...R do
for i in 0...4 do
# Do something
end
end这不仅看起来更好,而且更清楚地表达了代码的含义。
发布于 2012-07-18 14:08:12
1.upto(R-1) { |r|
4.times {|i|
# Do something
}
}RubyFiddle。
这使用了Integer的upto和times方法。
发布于 2012-07-18 14:28:13
只是为了让它更漂亮:范围也可以有三个点,不包括最后一个数字。因此,如果像这样编写代码,代码的行为会更紧密:
for r in 1...R do
for i in 0...4 do
# Do something
end
endhttps://stackoverflow.com/questions/11535126
复制相似问题