MoonBit 语言导览 MoonBit

数组模式

数组模式是一个用 [] 包围的模式序列,用于匹配数组。

你可以使用 .. 来匹配数组的开始、结束或中间的其余部分。

在数组模式中,.. 部分可以通过别名模式绑定到一个新变量。该变量的类型是 ArrayViewsum 函数使用此功能递归地计算数组的和。

fn main {
  let array = [1, 2, 3, 4, 5, 6]
  let [a, b, ..] = array
  let [.., c, d] = array
  let [e,  ..,  f] = array
  println("a: \{a}, b: \{b}")
  println("c: \{c}, d: \{d}")
  println("e: \{e}, f: \{f}")
  println("sum of array: \{sum(array[:])}")
}

fn sum(array : ArrayView[Int]) -> Int {
  match array {
    [] => 0
    [x, .. as xs] => x + sum(xs)
  }
}