Cursus Raku / Addendum 🆕 / Omnia coniungere / Incepta parva mixta / Exercises / Calculator notationis Polonicae inversae
Solutio: Calculator notationis Polonicae inversae
Ecce solutio possibilis huius exercitationis.
Codex
my $expression = '3 4 + 5 *';
my @stack;
for $expression.words -> $token {
if $token ~~ / ^ \d+ $ / {
@stack.push($token.Int);
}
else {
my $b = @stack.pop;
my $a = @stack.pop;
@stack.push( do given $token {
when '+' { $a + $b }
when '-' { $a - $b }
when '*' { $a * $b }
when '/' { $a / $b }
});
}
}
say @stack[0];🦋 Inveni codicem fontem in archivo rpn-calculator.raku.
Exitus
35Commentarii
Numeri in acervum immittuntur. Operator duos valores recentissimos eximit, eos componit, et effectum reponit — essentia aestimationis postpositivae.
do given $tokenoperatorem in arithmeticam rectam vertit, et ordo$adeinde$b(ordine inverso exemptorum) subtractionem et divisionem recte servat.
Navigatio cursus
← Calculator notationis Polonicae inversae | Histogramma textuale →