在OCaml表格here教程的解决方案中,关于消除列表元素的连续重复的解决方案,代码是这样编写的:
let rec compress = function
| a :: (b :: _ as t) -> if a = b then compress t else a :: compress t
| smaller -> smaller;;
我以前从未见过关键字(?)“较小”,我在网上查了但没找到它。虽然在这种情况下,我理解它的含义,但我仍然想知道是否有人可以解释更多。谢谢!
答案 0 :(得分:2)
smaller
不是关键字,它是一个标识符,就像a
,b
和t
一样。
模式smaller
只匹配任何可能的值(之前的任何模式都没有匹配),并为其指定名称smaller
。
答案 1 :(得分:1)
您可能需要阅读书籍Lists and Patterns中的Real World OCaml章节。