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 split_args = arguments.split("-").collect::<Vec<&str>>();
|
||||||
|
|
||||||
let num1: u32 = match split_args[0].parse() {
|
let num1: u32 = match split_args[0].parse() {
|
||||||
|
|
|
@ -55,10 +55,10 @@ impl Program {
|
||||||
|
|
||||||
match opcode {
|
match opcode {
|
||||||
'p' => println!("{}", self.args_or_vars(arguments)),
|
'p' => println!("{}", self.args_or_vars(arguments)),
|
||||||
'a' => println!("{}", eval::do_math(arguments, '+')),
|
'a' => println!("{}", eval::do_math(self.args_or_vars(arguments), '+')),
|
||||||
's' => println!("{}", eval::do_math(arguments, '-')),
|
's' => println!("{}", eval::do_math(self.args_or_vars(arguments), '-')),
|
||||||
'm' => println!("{}", eval::do_math(arguments, '*')),
|
'm' => println!("{}", eval::do_math(self.args_or_vars(arguments), '*')),
|
||||||
'd' => println!("{}", eval::do_math(arguments, '/')),
|
'd' => println!("{}", eval::do_math(self.args_or_vars(arguments), '/')),
|
||||||
'l' => self.add_var(arguments),
|
'l' => self.add_var(arguments),
|
||||||
_ => panic!("SyntaxError at opcode {}!", self.pc)
|
_ => panic!("SyntaxError at opcode {}!", self.pc)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue