我正在阅读 OCaml 的语言手册并遇到了“缺点”运算符,表示为
::
Run Code Online (Sandbox Code Playgroud)
然而,它并不解释什么是,什么它通常用于。
这是基本的列表结构运算符。该列表[1; 2; 3]是使用::运算符的三个应用程序构建的:
$ ocaml
OCaml version 4.01.0
# 1 :: 2 :: 3 :: [];;
- : int list = [1; 2; 3]
Run Code Online (Sandbox Code Playgroud)
(这个操作从 50 年前的早期 Lisp 时代起就被称为cons。)
该::运营商还可以出现在模式,以解构的列表:
let rec length l =
match l with
| [] -> 0
| h :: t -> 1 + length t
Run Code Online (Sandbox Code Playgroud)