这些天我通过一些基础材料和一个用OCaml写成的项目学习OCaml。但我不理解OCaml中的一些符号。例如:
open Batteries
type char_token = [
| `Char of int
| `Escape of char list
]这些符号的意思是什么?
另外,我也很难理解其他符号:
我在OCaml手册里找不到任何东西。有人能解释更多关于上面的符号的细节吗?还是给我推荐些材料?
发布于 2013-11-11 12:25:55
`Foo和[>是多态变体(http://caml.inria.fr/pub/docs/manual-ocaml-4.00/manual006.html#toc36)。对于初学者来说,它们可能不值得,但您可以查看我的一个旧答案(在OCaml中扩展现有类型),看看如何使用它们。
_是一个匹配任何东西的模式:
let head l = match l with
| x :: _ -> x
| _ -> failwith "empty list"那里的两个_都习惯于对编译器说“我不关心的事情”。
https://stackoverflow.com/questions/19904832
复制相似问题