13 lines
304 B
OCaml
13 lines
304 B
OCaml
module F = Map.Make(String)
|
|
|
|
let rec count map =
|
|
let word = Scanf.scanf " %s" (fun w -> w) in
|
|
if word = "" then map
|
|
else count (F.update word (function
|
|
| None -> Some 1
|
|
| Some n -> Some (n + 1))
|
|
map);;
|
|
|
|
let () =
|
|
List.iter (fun (s, n) -> Printf.printf "%s: %d\n" s n) @@ count F.empty;;
|