From 773c563f97578a86eb8e671fcfdb4f8e291b809c Mon Sep 17 00:00:00 2001 From: ~karx Date: Sun, 7 Feb 2021 00:30:14 +0000 Subject: [PATCH] Add support for variables in math operations --- src/eval.rs | 2 +- src/main.rs | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) 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) }