tasks a-s
This commit is contained in:
parent
47bf37c096
commit
b83f433714
12433 changed files with 156208 additions and 123 deletions
|
|
@ -0,0 +1,22 @@
|
|||
my $proggie = '3 4 2 * 1 5 - 2 3 ^ ^ / +';
|
||||
|
||||
class RPN is Array {
|
||||
|
||||
method binop(&infix:<op>) { self.push: self.pop Rop self.pop }
|
||||
|
||||
method run($p) {
|
||||
for $p.words {
|
||||
say "$_ ({self})";
|
||||
when /\d/ { self.push: $_ }
|
||||
when '+' { self.binop: &[+] }
|
||||
when '-' { self.binop: &[-] }
|
||||
when '*' { self.binop: &[*] }
|
||||
when '/' { self.binop: &[/] }
|
||||
when '^' { self.binop: &[**] }
|
||||
default { die "$_ is bogus" }
|
||||
}
|
||||
say self;
|
||||
}
|
||||
}
|
||||
|
||||
RPN.new.run($proggie);
|
||||
Loading…
Add table
Add a link
Reference in a new issue