在 zig 中使用增量 for 循环的语法是什么? 在下面的代码片段中,我写了它在 F# 中的样子。 但它在 zig 中看起来怎么样?
在 C 语言中,它会类似于
for (x = 3*x0; x <= x1; x += 2*x0)
。
fn foo(x0: i32, x1: i32) {
for (3*x0..2*x0..x1) |x| {
// ...
}
}
我不是 zig 专家,但仔细阅读在线文档,zig for 循环构造似乎不允许任意迭代。在这种情况下,您需要使用带有 continue 表达式的 while 循环。
var x : i32 = 3 * x0;
while (x <= x1) : (x += 2 * x0) {
// body of the loop
}