这个java循环的ruby等价物是什么,因为没有预增量运算符?

时间:2016-02-14 01:35:17

标签: java ruby

我有一个java while循环,它在每次检查while中的条件时预先递增变量 i

int i = low;
int a[] = new int[5];

while (less(a[++i], a[low]))
  if (i == hi) break;

你如何在Ruby中模仿这个?它甚至可能吗?

1 个答案:

答案 0 :(得分:1)

语法不同,但您当然可以重现逻辑:

loop do
  i += 1
  break if (!less(a[i], a[low])) || (i == hi)
end

我假设alowhii都已在此之前的某处正确初始化,因为我认为它们在您的Java也是如此,即使你没有显示它。我还假设less是在其他地方实现的返回布尔结果的方法。