The*_*ema 5 polymorphism ocaml types
我正在尝试创建一个具有多个类型参数的类型.我知道如何使用一个参数创建一个类型:
type 'a foo = 'a * int
Run Code Online (Sandbox Code Playgroud)
但我需要有两个参数,以便我可以参数化'int'部分.我怎样才能做到这一点?
这样做的方法是:
type ('a, 'b) foo = 'a * 'b
Run Code Online (Sandbox Code Playgroud)
类型参数不是curry,因此您需要以元组形式提供它们作为单个参数.一个很好的例子是Hashtbl模块:
Run Code Online (Sandbox Code Playgroud)type ('a, 'b) t从"a到type"类型的哈希表类型.
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |