E0018#
在这个循环表达式中没有 continue,因此 loop 在这里是无用的。
当使用一个不包含 continue 语句的 loop 表达式时,将会出现这个错误。在 MoonBit 中,一个不包含任何 continue 语句的 loop 相当于一个只执行一次的块表达式,使得在这种情况下 loop 关键字是多余的。如果你需要从头重新开始循环,你应该添加一个 continue 语句,或者使用一个更简单的控制流结构,如 match 或 if。
错误示例#
///|
fn main {
let count = 2
loop count {
_..<0 => break
_ => println(count)
}
}
输出:
2
建议#
如果你需要重新开始循环,添加一个 continue 语句:
///|
fn main {
let count = 2
loop count {
_..<0 => break
count => {
println(count)
continue count - 1
}
}
}
输出:
2
1
0
或者如果不需要使用 continue,使用 if/match:
///|
fn main {
let count = 2
match count {
_..<0 => ()
_ => println(count)
}
}
输出:
2