String Ocaml字符串直方图

String Ocaml字符串直方图,string,ocaml,histogram,String,Ocaml,Histogram,我正在尝试从OCaml中的字符串生成直方图。 我正处于这种状态,编辑一点:使用字符串输入 我怎样才能看到charFreqs的内容,或者它是否有效 module S = String;; module HT = Hashtbl;; let histogram s = let charFreqs = HT.create 126 in S.iter (fun c -> let tmp = try HT.find c

我正在尝试从OCaml中的字符串生成直方图。 我正处于这种状态,编辑一点:使用字符串输入

我怎样才能看到charFreqs的内容,或者它是否有效

module S = String;;
module HT = Hashtbl;;

let histogram s =
    let charFreqs = HT.create 126 in
        S.iter (fun c ->
            let tmp =
                try HT.find charFreqs c
                with Not_found -> 0 in
            HT.replace charFreqs c (tmp+1)
        ) s;;

let str = "Lorem ipsum dolor sit amet, consectetur adipiscing elit.";;
let charFreqs = histogram str;;
输出:val charFreqs:unit=()


您的
直方图
函数返回S.iter的结果,即
单位

val iter : (char -> unit) -> string -> unit
尝试以下方法:

let histogram s =
    let charFreqs = HT.create 126 in
        S.iter (fun c ->
            let tmp =
                try HT.find charFreqs c
                with Not_found -> 0 in
            HT.replace charFreqs c (tmp+1)
        ) s;
        charFreqs;;

更好:val charFreqs:(char,int)HT.t=我如何使用它?
HT.iter(fun x y->Printf.Printf”%c->%d\n“x y)charFreqs你正式成为我的Ocaml神\o/