我在官方文档中找不到任何size
或len
函数。查找使用以下内容创建的地图中元素数量的简单方法是什么:
module M = Map.Make(String)
我正在寻找类似M.size M.empty : 0
的内容。
答案 0 :(得分:8)
您正在寻找的功能称为cardinal
(与集合的基数相同)。
示例:
module M = Map.Make(String)
let m = M.singleton "x" "y"
let () = Printf.printf "%d\n" (M.cardinal m)
这将打印1
,因为只有一个绑定。
答案 1 :(得分:-1)
hoogle4ocaml ": 'a t -> int$" | grep -i map
告诉你:
~/.opam/4.05.0/lib/ocaml/map.mli: val cardinal: 'a t -> int
比照。 https://github.com/UnixJunkie/hoogle_for_ocaml
所以,简短的回答是:
Map.cadinal your_map
PS:是的,OCaml社区仍然在Haskell社区中遗漏了相当于Hoogle的东西。周围有一些黑客,就像我刚刚联系到的那样,但是我们需要一个严肃的,正确的工作,积极维护并且在很大程度上被社区审查