代码之家  ›  专栏  ›  技术社区  ›  Jackie19

OCaml中的“更小”关键字(?)

  •  3
  • Jackie19  · 技术社区  · 10 年前

    在OCaml表单教程的解决方案中 here ,关于消除列表元素的连续重复,代码如下:

    let rec compress = function
       | a :: (b :: _ as t) -> if a = b then compress t else a :: compress t
       | smaller -> smaller;;
    

    我以前从未见过关键字(?)“更小”,我在网上查找,但没有找到它。虽然在这种情况下,我理解它的含义,但我仍然想知道是否有人能解释更多。谢谢!

    2 回复  |  直到 10 年前
        1
  •  4
  •   sepp2k    10 年前

    smaller 不是关键字,而是标识符,就像 a , b t 之前都在网上。

    模式 更小 只需匹配任何可能的值(以前的任何模式都没有匹配),并为其命名 更小 .

        2
  •  2
  •   ChriS    10 年前

    你可能想读这一章 Lists and Patterns 在书中 Real World OCaml .