检查Ocaml StringMap中是否存在单词

时间:2017-02-19 20:56:05

标签: ocaml word-count

我是OCaml的新手,正在尝试从单词列表中创建一个wordcount。对于每个单词,我都试图这样做:

let check x  = if StringMap.mem x then y = StringMap.find x testMap (* I want to add one to this value *) 
else
let testMap = StringMap.add x 1 testMap ;;

除了在这段代码中出错外,我很确定我的逻辑也有点错误。我是函数式编程的新手,所以任何帮助都会很棒。

1 个答案:

答案 0 :(得分:1)

check是一张新地图;原始地图未受影响。

要取得进展,您需要跟踪地图的当前值。

let check : string -> StringMap.t -> StringMap.t = fun string map -> if StringMap.mem string map then let y = StringMap.find string map in (* do something with y *) else (* add a binding between string and 1 *) 的一种可能性是

{{1}}

您需要完成两个评论部分。