pub fn do_math(arguments: String, operator: char) -> u32 { let split_args = arguments.split("-").collect::>(); let num1: u32 = match split_args[0].parse() { Ok(num) => num, Err(_e) => panic!("ArgumentError: Not a number: {}", split_args[0]), }; let num2: u32 = match split_args[1].parse() { Ok(num) => num, Err(_e) => panic!("ArgumentError: Not a number: {}", split_args[1]), }; match operator { '+' => num1 + num2, '-' => num1 - num2, '*' => num1 * num2, '/' => num1 / num2, _ => panic!("SyntaxError: Unknown operator {}", operator), } } pub fn args_or_comments(arguments: &str) -> String { let argument_vec: Vec = arguments.chars().collect(); let mut builder: String = String::from(""); for char in argument_vec { if char == '#' { break; } else { builder.push_str(&char.to_string()); } } builder }