函数如何实现多返回值, 例如下面的函数
pub fn if_result[M, N](condition:Bool, true_value:M, false_value:N) → M|N {
}
返回值类型可能是M, 也可能是N
之所有这样的问题, 是因为mopobit现在不支持Object或者Any这样的类型
函数如何实现多返回值, 例如下面的函数
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) }
}