From b0ce0feda870abfcd9023c13cbc220635d8294d7 Mon Sep 17 00:00:00 2001 From: Ben Davies Date: Wed, 19 May 2021 08:36:44 -0300 Subject: Don't calculate a sum for each mapping of a binary tree node Nit of Ben Davies' Raku solution for challenge 113. --- challenge-113/ben-davies/raku/ch-2.raku | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/challenge-113/ben-davies/raku/ch-2.raku b/challenge-113/ben-davies/raku/ch-2.raku index c747e68ffc..c0c2a05e3c 100644 --- a/challenge-113/ben-davies/raku/ch-2.raku +++ b/challenge-113/ben-davies/raku/ch-2.raku @@ -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 - *; } -- cgit From 9824ab7d8bf87b5b709c0fcb17535f74d4969b80 Mon Sep 17 00:00:00 2001 From: Ben Davies Date: Wed, 19 May 2021 08:41:34 -0300 Subject: Type BTree[::T].sum as Numeric:D Nit of Ben Davies' Raku solution for challenge 113. --- challenge-113/ben-davies/raku/ch-2.raku | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/challenge-113/ben-davies/raku/ch-2.raku b/challenge-113/ben-davies/raku/ch-2.raku index c0c2a05e3c..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) } -- cgit