aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-113/ben-davies/raku/ch-2.raku7
1 files changed, 4 insertions, 3 deletions
diff --git a/challenge-113/ben-davies/raku/ch-2.raku b/challenge-113/ben-davies/raku/ch-2.raku
index c747e68ffc..c58effc7a3 100644
--- a/challenge-113/ben-davies/raku/ch-2.raku
+++ b/challenge-113/ben-davies/raku/ch-2.raku
@@ -13,8 +13,8 @@ role BTree[::T] {
self.new: |args
}
- multi method sum(::?ROLE:U: --> 0) { }
- multi method sum(::?ROLE:D: --> Int:D) { $!value + $!left.sum + $!right.sum }
+ multi method sum(::?ROLE:U: --> 0) { }
+ multi method sum(::?ROLE:D: --> Numeric:D) { $!value + $!left.sum + $!right.sum }
multi method map(::?ROLE:U: &f --> ::?ROLE:U) { self }
multi method map(::?ROLE:D: &f --> ::?ROLE:D) { self.new: f($!value), L => $!left.map(&f), R => $!right.map(&f) }
@@ -38,5 +38,6 @@ unit sub MAIN() {
R => BIT(3,
L => BIT(5),
R => BIT(6)));
- say $bit.map: $bit.sum - *;
+ my Int:D $sum = $bit.sum;
+ say $bit.map: $sum - *;
}