use std::env; use std::fs::File; use std::io::BufReader; use std::io::BufRead; fn score(line: String) -> i64 { match line.trim() { "A X" => 1 + 3, "A Y" => 2 + 6, "A Z" => 3 + 0, "B X" => 1 + 0, "B Y" => 2 + 3, "B Z" => 3 + 6, "C X" => 1 + 6, "C Y" => 2 + 0, "C Z" => 3 + 3, _other => 0, } } fn main() { let args: Vec = env::args().collect(); let input = &args[1]; let reader = BufReader::new(File::open(input).expect("where file?")); let mut sum = 0; for line in reader.lines() { sum += score(line.unwrap()); } println!("Sum: {}", sum); }