如果 n 属于集合 a,m 属于集合 b,请重复一些步骤,如何在 Ruby 中执行此操作



我们可以在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) 的数组?

显式迭代在 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

最新更新