【发布时间】:2016-02-20 03:13:54
【问题描述】:
所以我正在编写一个简单的方法来总结列表中的前 3 个或更少的整数
但我对匹配模式感到困惑。
我目前有
let sums l = match l with
| [] -> 0
| (h1::h2::h3::_) -> h1+h2+h3
| [h1;h2;h3] -> h1+h2+h3
| [h1;h2] -> h1+h2
| [h1] -> h1
这是否涵盖所有情况?
还有为什么 3 个或更多元素我不能写 [h1;h2;h3;_] 之类的东西?
对不起,如果这些问题看起来太简单了,我刚开始学习 OCaml,我在网上找不到这样的东西。
【问题讨论】:
-
如果 Ocaml 认为模式没有涵盖所有情况,它会给你一个非常明确的警告。