String Ocaml字符串直方图
我正在尝试从OCaml中的字符串生成直方图。 我正处于这种状态,编辑一点:使用字符串输入 我怎样才能看到charFreqs的内容,或者它是否有效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
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/