commit 773c563f97578a86eb8e671fcfdb4f8e291b809c
parent 64c5958193816f12a089c0b04559bddb24ed8809
Author: ~karx <karx@tilde.team>
Date: Sun, 7 Feb 2021 00:30:14 +0000
Add support for variables in math operations
Diffstat:
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git 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::<Vec<&str>>();
let num1: u32 = match split_args[0].parse() {
diff --git 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)
}