E4103#
此循环提供了错误的模式数量。
这个错误发生在循环中的模式数量与循环参数数量不匹配时。在循环构造中,每一个都必须有与循环参数数量相同的模式数量。
例如,如果一个循环有 2 个参数,那么每一个都必须有 2 个模式来匹配这些参数。模式数量不足或过多都会触发此错误。
错误示例#
pub fn f(x: Int, y: Int) -> Int {
loop x, y {
0, 0 => 0
a => continue a - 1, 0
// ^ Error: This loop has 2 arguments, but 1 patterns are supplied
}
}
建议#
要修复此错误,请确保循环中的每一个都有正确数量的模式来匹配循环参数。例如:
pub fn f(x: Int, y: Int) -> Int {
loop x, y {
0, 0 => 0
a, b => continue a - 1, b - 1
}
}