diff --git a/src/eval.rs b/src/eval.rs index 13a0cbd..d22d553 100644 --- a/src/eval.rs +++ b/src/eval.rs @@ -1,4 +1,4 @@ -pub fn do_math(arguments: &str, operator: char) -> u32 { +pub fn do_math(arguments: String, operator: char) -> u32 { let split_args = arguments.split("-").collect::>(); let num1: u32 = match split_args[0].parse() { diff --git a/src/main.rs b/src/main.rs index 8642199..f5ce187 100644 --- a/src/main.rs +++ b/src/main.rs @@ -55,10 +55,10 @@ impl Program { match opcode { 'p' => println!("{}", self.args_or_vars(arguments)), - 'a' => println!("{}", eval::do_math(arguments, '+')), - 's' => println!("{}", eval::do_math(arguments, '-')), - 'm' => println!("{}", eval::do_math(arguments, '*')), - 'd' => println!("{}", eval::do_math(arguments, '/')), + 'a' => println!("{}", eval::do_math(self.args_or_vars(arguments), '+')), + 's' => println!("{}", eval::do_math(self.args_or_vars(arguments), '-')), + 'm' => println!("{}", eval::do_math(self.args_or_vars(arguments), '*')), + 'd' => println!("{}", eval::do_math(self.args_or_vars(arguments), '/')), 'l' => self.add_var(arguments), _ => panic!("SyntaxError at opcode {}!", self.pc) }