我在 sml 中遇到以下问题:我想使用 IntListSet 签名创建一个集合,而不是 int 我想使用 large int . 有没有什么办法解决这一问题?
IntListSet
int
large int
谢谢,等待你的回答 .
您可以使用 ListSetFn 仿函数 . 从文档中,您会发现:
ListSetFn
functor ListSetFn (ORD_KEY) : ORD_SET
这表示 ListSetFn 是一个仿函数,它采用满足 ORD_KEY 签名的结构,您可以在文档中找到:
ORD_KEY
type ord_key val compare : (ord_key * ord_key) -> order
所以基本上,您需要创建一个满足 ORD_KEY 签名的结构,例如:
structure LargeIntKey : ORD_KEY = struct type ord_key = LargeInt.int val compare = LargeInt.compare end
然后你可以通过以下方式创建 ListSetFn 仿函数的 LargeInt 实例:
LargeInt
structure LargeIntSet = ListSetFn(LargeIntKey)
1 回答
您可以使用
ListSetFn
仿函数 . 从文档中,您会发现:这表示
ListSetFn
是一个仿函数,它采用满足ORD_KEY
签名的结构,您可以在文档中找到:所以基本上,您需要创建一个满足
ORD_KEY
签名的结构,例如:然后你可以通过以下方式创建
ListSetFn
仿函数的LargeInt
实例: