选项类型
另一个需要模式匹配的有用类型是多态选项类型 opt . 它可以用于捕获值,也可以指定没有值:
fun divide (x:int, y:int) =>
if y == 0 then None[int]
else Some (x/y)
endif
;
模式匹配可选值
具体做法如下:
proc printopt (x: opt[int]) {
match x with
| Some v => println$ "Result is " + v.str;
| None => println$ "No result";
endmatch;
}