最近尝试了一下 MoonBit ,发现它的 is 表达式挺有意思的。简单来说,它用来检查某个值是否匹配某个模式,如果匹配成功,模式中定义的变量就能直接拿来用了。感觉这种方式既简洁又高效,避免了传统的 if 判断,代码更清爽了一些。
这个表达式的语法形式为 expr is pat,这个表达式为 Bool 类型,当 expr 符合 pat 这个模式的时候返回 true,比如:
fn use_is_expr(x: Int?) -> Unit {
if x is Some(i) && i >= 10 { ... }
}
来源:MoonBit 公众号的周报
