如何在OCaml中模式匹配相同的案例?

时间:2015-12-09 00:00:44

标签: ocaml

例如,什么是更简洁的写作方式

PRIMARY KEY

2 个答案:

答案 0 :(得分:2)

这两种情况并不相同。列表是一个序列,而不是一个集合(即,顺序很重要)。

除非你有更大的例子,否则我看不到很多可能的改进。以下内容略显简洁:

let rec sum3 = function
| [] -> false
| 1 :: 2 :: _ | 2 :: 1 :: _ -> true
| _ :: t -> sum3 t

答案 1 :(得分:1)

从你的函数名称我想你想测试两个连续数字总和为3,在这种情况下我会写这样的函数:

let rec sum3 = function
| [] -> false
| a :: b :: _ when a + b = 3 -> true
| _ :: t -> sum3 t