当前位置:  开发笔记 > 编程语言 > 正文

Ocaml的玩家

如何解决《Ocaml的玩家》经验,为你挑选了1个好方法。



1> TrayMan..:

你需要改变这两行

module Set (Elt:Ordered) : S = 
module OrdInt : Ordered =

module Set (Elt:Ordered) : S with type elt = Elt.t = 
module OrdInt : Ordered with type t = int =

没有这些,模块将没有将类型elt和t暴露为int的签名.

[编辑]:set.ml没有'with'位,因为有一个sml.mli,它声明了仿函数的签名,它确实有'with'.此外,如果您没有为其明确指定签名,OrdInt不需要'with',如下所示:

module OrdInt =

您还可以通过定义模块来构造集合:

module IntSet = Set (struct
 type t = int
 let lt a b = a < b
 let eq a b = a = b
 let leq a b = a <= b
end) 

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有