我正在创建列表总和并option
在其中使用。当我传递一个空列表时,我应该得到NONE
or else SOME value
。
我可以通过以下方式做到这一点:
fun sum_list xs =
case xs of
[] => NONE
| x =>
let
fun slist x =
case x of
[] => 0
| x::xs' => x + slist xs'
in
SOME (slist x)
end
但是我想以相反的方式使用模式匹配来做到这一点,我想评估结果sum_list
以查看它是否是NONE
或包含其他值。
我已经尝试过各种方式,但我无法掌握如何以这种方式进行操作。