E4146

E4146#

范围模式不支持该类型。

MoonBit 仅支持整数类型的范围模式。当您尝试在范围模式中使用非整数类型时,会发生此错误。

错误示例#

fn main {
  let value = 1.0
  match value {
    _..<0.0 => println("negative") // Error: Type Double is not supported by range pattern.
    _ => println("zero or positive")
  }
}

建议#

对于未实现整数但实现 Compare 特征的类型,您可以使用多个 if-else 表达式来实现相同的效果。

fn main {
  let value = 1.0
  if value < 0.0 {
    println("negative")
  } else {
    println("zero or positive")
  }
}