Add support for variables in math operations
This commit is contained in:
parent
64c5958193
commit
773c563f97
|
@ -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() {
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue