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