我对 OCaml 还很陌生(目前在大学上的课程很糟糕),我们最近研究了递归类型。我们被告知我们用它来创建列表,但 OCaml 中已经有列表了,所以我不太明白什么时候应该使用一个而不是另一个。
\n示例\xe2\x80\xaf:
\n(* list made with a recursive type : *)\ntype int_list =\n | None\n | Element of int * int_list\n\n(* just a list *)\nlet int_list2 : int list = [] \nRun Code Online (Sandbox Code Playgroud)\n
递归类型和列表有什么区别?
“递归类型”描述了一整类类型,而list是一种特定的递归类型。换句话说:list是一个递归类型,但是除了 之外还有其他递归类型list。
OCaml 中已经有列表了,所以我不太明白什么时候应该使用其中一个而不是另一个。
什么时候应该使用int_list内置list类型?绝不。您的老师向您展示了这个定义,作为递归类型的示例,而不是您应该实际使用的东西。
仅当定义标准库中尚不存在的内容时(当然学习练习除外),您才需要定义自己的递归类型。
| 归档时间: |
|
| 查看次数: |
111 次 |
| 最近记录: |