0

我们可以用 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)来保持这两个条件?

4

1 回答 1

0

显式迭代在 ruby​​ 中被视为糟糕的思想表达方式。通常有更好的方法来实现预期的目标。

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

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
于 2012-12-08T09:20:13.780 回答