函数多返回值

函数如何实现多返回值, 例如下面的函数
pub fn if_result[M, N](condition:Bool, true_value:M, false_value:N) → M|N {

}

返回值类型可能是M, 也可能是N

之所有这样的问题, 是因为mopobit现在不支持Object或者Any这样的类型

如果返回值可能是 M 也可能是 N 的话可以用 enum 类型,比如

enum Either[M, N] {
  Left(M)
  Right(N)
}

fn select[M, N](b: Bool, m: M, n: N) -> Either[M, N] {
  if b { Left(m) } else { Right(n) }
}
1 个赞