pub fn count(input: impl BufRead, option: CountOption) -> HashMap<String, usize>
Expand description
input
から1行ずつUTF-8文字列を読み込み、出現頻度を数える。
頻度を数える対象は、オプションによって制御される。
CountOption::Char
: Unicodeの1文字ごと。CountOption::Word
: 正規表現\w+
にマッチする単語ごと。CountOption::Line
:\n
または\r\n
で区切られた1行ごと。
§Panics
入力がUTF-8文字列でない場合は、パニックを起こす。
§Examples
入力中の単語の出現頻度を数える例。
use std::io::Cursor;
use kuroyasu_bicycle_book_wordcount::{count, CountOption};
let mut input = Cursor::new("aa bb cc bb");
let freqs = count(input, CountOption::Word);
assert_eq!(freqs["aa"], 1);
assert_eq!(freqs["bb"], 2);
assert_eq!(freqs["cc"], 1);