Add support for variables in math operations

This commit is contained in:
~karx 2021-02-07 00:30:14 +00:00
parent 64c5958193
commit 773c563f97
2 changed files with 5 additions and 5 deletions

View File

@ -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() {

View File

@ -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)
}