RosettaCodeData/Task/Letter-frequency/Rust/letter-frequency.rust

22 lines
523 B
Plaintext

#![feature(io)]
use std::collections::HashMap;
use std::fs::File;
use std::io::{Read,BufReader};
use std::env::args;
fn main() {
let filename = args().nth(1).expect("You must enter a filename to read line by line");
let file = File::open(&filename).unwrap();
let reader = BufReader::new(file);
let s = reader.chars().map(|rc|rc.unwrap()).fold(&mut HashMap::new(), |m, x: char| {
let r = *m.get(&x).unwrap_or(&0);
m.insert(x, 1 + r);
m
}).clone();
println!("{:?}", s);
}