aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-306/0rir/raku/ch-1.raku4
-rw-r--r--challenge-306/0rir/raku/ch-2.raku11
2 files changed, 8 insertions, 7 deletions
diff --git a/challenge-306/0rir/raku/ch-1.raku b/challenge-306/0rir/raku/ch-1.raku
index f6d1937fa5..e40bf11f01 100644
--- a/challenge-306/0rir/raku/ch-1.raku
+++ b/challenge-306/0rir/raku/ch-1.raku
@@ -40,8 +40,8 @@ plan @Test ÷ 2;
multi task( [] ) { 0 }
multi task( @a --> Int) {
- sum do for 1, *+2 … @a % 2 ?? +@a !! @a -1 {
- @a.rotor($_ => -$_ +1 ).flat.sum;
+ sum do for 1, *+2 … $ = @a % 2 ?? +@a !! @a -1 {
+ sum @a.rotor($_ => -$_ +1 ).flat;
}
}
diff --git a/challenge-306/0rir/raku/ch-2.raku b/challenge-306/0rir/raku/ch-2.raku
index ade054fab6..360a462676 100644
--- a/challenge-306/0rir/raku/ch-2.raku
+++ b/challenge-306/0rir/raku/ch-2.raku
@@ -62,22 +62,23 @@ only task( @a --> Int) {
my Int $max-jr;
loop {
- return Int if not $h; # ().BagHash
+ return Int if not $h; # Done if empty.
# Handle the max level.
$max = $h.keys.max;
- next if $h{$max} :delete %% 2; # Just delete it.
+ next if $h{$max} :delete %% 2;
return $max if not $h; # No next level.
- $max-jr = $h.keys.max; # Calc & store difference.
+ # Grab next max, delete it, and store the differ𝑒nce.
+ $max-jr = $h.keys.max;
-- $h{ $max-jr};
- $h.add( $max - $max-jr );
+ $h.add( $max - $max-jr);
}
}
for @Test -> $exp, @in {
- is task( @in), $exp, "{$exp // $exp.^name()} <- @in.raku()"
+ is task( @in), $exp, "{$exp // $exp.^name()}\t<- @in.raku()"
}
done-testing;