2021-02-07 00:30:14 +00:00
|
|
|
pub fn do_math(arguments: String, operator: char) -> u32 {
|
2021-02-04 19:47:55 +00:00
|
|
|
let split_args = arguments.split("-").collect::<Vec<&str>>();
|
|
|
|
|
|
|
|
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)
|
|
|
|
}
|
|
|
|
}
|