1
OCaml中是否有相当于Haskell的findWithDefault
函数?Haskell的Map.findwithfaultfault ocaml相当于
回想findWithDefault的类型是 findWithDefault :: Ord k => a -> k -> Map k a -> a
OCaml中是否有相当于Haskell的findWithDefault
函数?Haskell的Map.findwithfaultfault ocaml相当于
回想findWithDefault的类型是 findWithDefault :: Ord k => a -> k -> Map k a -> a
有一个在OCaml的标准地图库没有这样的功能。您可以实现单个地图模块版本(即单密钥类型)是这样的:
module M = Map.Make(String)
let find_with_default dflt map key =
try M.find map key with Not_found -> dflt
您还可以通过扩展函子有一个通用的定义:'模块MyMap中(O:Map.OrderedType) = struct include Map.Make(O)let find_with_default dflt map key =尝试使用Not_found查找映射键 - > dflt end' – Virgile