2016-12-14 7 views
1

OCamlの文字列からヒストグラムを作成しようとしています。 私はこの状態で少し編集しています:create a histogram OCamlは文字列入力を使用しています。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;; 

Output: val charFreqs : unit =()

答えて

2

あなたhistogram機能が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;; 
+0

: エラー:アンバウンド値charFreqs –

+0

申し訳ありませんが、構文エラーです。 –

+0

より良い:val charFreqs:(char、int)HT.t = どうすれば使用できますか? –

関連する問題