Cursus Raku / Addendum 🆕 / Cursus et functiones / Ordo exsecutionis et logica / Exercises / Saxum, charta, forfices
Solutio: Saxum, charta, forfices
Ecce solutio possibilis huius exercitationis.
Codex
my %beats = rock => 'scissors', scissors => 'paper', paper => 'rock';
sub winner($a, $b) {
return 'tie' if $a eq $b;
return %beats{$a} eq $b ?? "$a wins" !! "$b wins";
}
for <rock scissors>, <paper rock>, <paper paper> -> ($a, $b) {
say "$a vs $b: { winner($a, $b) }";
}🦋 Inveni codicem fontem in archivo rock-paper-scissors.raku.
Exitus
rock vs scissors: rock wins
paper vs rock: paper wins
paper vs paper: tieCommentarii
Tabula
%beatsregulas codificat: unusquisque motus ad motum quem vincit mappat. Hoc iudicium in unam inquisitionem vertit pro longa catena condicionum.Si
%beats{$a}motus adversarii est, tunc$avincit; alioquin (motibus aequalibus iam tractatis)$bvincit.