OCaml 缺点目的

OCaml cons purpose

我正在阅读 OCaml 的语言手册并遇到 "cons" 运算符,表示为

::

但是,根本没有解释它是什么,以及它通常用于什么。

这是基本的列表结构运算符。列表 [1; 2; 3]:: 运算符的三个应用构成:

$ ocaml
        OCaml version 4.01.0

# 1 :: 2 :: 3 :: [];;
- : int list = [1; 2; 3]

(从 50 年前的早期 Lisp 时代起,这个操作就被称为 cons。)

:: 运算符也可以出现在模式中,以解构列表:

let rec length l =
    match l with
    | [] -> 0
    | h :: t -> 1 + length t

另请查看 http://ocaml.org/learn/ — in particular, the book “Real World OCaml” has a section on lists 中的资源。