22 lines
523 B
Plaintext
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);
|
|
}
|