如果n属于set a而m属于set b,则重复一些步骤,如何在Ruby中执行此操作?

时间:2012-12-08 06:41:12

标签: ruby conditional-statements

我们可以用Java和类似的语言来做到这一点:

for (int i=0, int j=3; i<=2 && j<=5;i++,j++){
    do some repetive task until the condition becomes false...
}

如何根据两个不同的集合保留这两个条件(假设两个 其索引可以在条件块中用作i和j的数组?

1 个答案:

答案 0 :(得分:0)

明确的迭代在红宝石中被视为思想的不良表达。通常有更好的方法来实现预期目标。

那就是说,这是我所知道的迭代许多变量的最好方法:

i, j, k = 0, 3, 7
while i <= 2 && j <= 5 && k <= 100

  # code here

  i, j, k = [i, j, k].map(&:next)
end

你也可以做得有点麻烦

i, j = -1, 2
while( (i += 1) <= 2 && (j += 1) <= 5 )

  # code here

end 

编辑:如果你想从0到2,以及3到5,这可行:

(3..5).each_with_index do |j, i|
  # code
end