在官方OCaml文档的OCaml文档中,引入了_ -> .格式的反驳案例。然而,我认为模式匹配已经是详尽无遗的,所以我不确定什么时候需要反驳。文档中给出的示例如下: | Int : int t
let deep : (char t * int) option -> char =但即使是文档也指出,这个反驳案例是多余的。是否有一个例子,其中一个反驳案例是必要的代
假设我有像[1;2;3;4;5;6;9]和[1;2;3;9]这样的列表,我想编写一个模式来捕获以1开头和以9结尾的列表,并捕获列表中间的值。这可能与OCaml的模式匹配有关吗?我试着写一些像这样的东西| 1::middle::9match l with但我不确定这些元素是否符合我的要求,可能只匹配了3个元素列表有没有一种方法可以用来匹配
以下代码片段来自官方的OCaml :| a :: (b :: _ as t) -> if a = b then compress t elsea :: compress tval compress : 'a list -> 'a list = <fun>
上面的函数用连续的、重复的元素“压缩”列表我知道smaller是一个变量,或者是一个标识符,但是它返回了什么(在OCaml
我使用OCaml编写一个函数,该函数接受一个int元素和int元素的列表,并返回一个对的列表,其中每一对元素的第一个元素是int元素,而第二个元素是来自列表的成员。例如,假设我有数字1和列表10;20;30作为输入。我喜欢函数返回(1,10);(1,20);(1,30)。我编写了以下函数: match lst with
| [] ->