标准库示例

标准库示例

参见: Comparison of Standard Containers

以stack为例

编写如下一行代码即可看见Stack库中的函数定义。

module MyStack = Stack;;

创建一个自己的stack

let myStack = Stack.create ();;

注意括号匹配函数中的unit参数,这是必须的。

然后即可进行你所希望的push以及pop等操作了。

Stack.push “hello” myStack;;

稍微复杂一些的例如Set,使用的时候需要定义类型,用到了functor。

如下代码定义了一个string类型的集合模块:

module MySet = Set.Make(String);;

然后可以像使用Stack那样使用你的集合了,例如定义一个空的集合:

let mySet = Myset.empty;;

注意集合分为集合本身的类型和集合中元素的类型。