aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2021-09-12 15:34:14 +0200
committerJan Krňávek <Jan.Krnavek@gmail.com>2021-09-12 15:34:14 +0200
commit0b38b75bc8ef6c434f309a06a88e407af7e501a5 (patch)
tree8f9d9a36933552af9f3d6b62c36645ae02fed73b
parentad47946738a42f6c711d1f905c4b16d00fea3572 (diff)
downloadperlweeklychallenge-club-0b38b75bc8ef6c434f309a06a88e407af7e501a5.tar.gz
perlweeklychallenge-club-0b38b75bc8ef6c434f309a06a88e407af7e501a5.tar.bz2
perlweeklychallenge-club-0b38b75bc8ef6c434f309a06a88e407af7e501a5.zip
solution week 129-2
-rw-r--r--challenge-129/wambash/raku/ch-2.raku24
1 files changed, 24 insertions, 0 deletions
diff --git a/challenge-129/wambash/raku/ch-2.raku b/challenge-129/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..934887099f
--- /dev/null
+++ b/challenge-129/wambash/raku/ch-2.raku
@@ -0,0 +1,24 @@
+#!/usr/bin/env raku
+
+sub linked-list-to-int ( $ll ) {
+ $ll
+ andthen $_, *.value ... * ~~ Int
+ andthen .map: { .?key // $_}\
+ andthen [~] $_
+ andthen .Int
+}
+
+sub add_linked_lists (+@a) {
+ @a
+ andthen .map: *.&linked-list-to-int
+ andthen .sum
+ andthen [=>] .comb
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is linked-list-to-int( 1=>2=>3 ), 123;
+ is add_linked_lists(1=>2=>3,3=>2=>1), 4=>4=>4;
+ is add_linked_lists(1=>2=>3=>4=>5,6=>5=>5), 1=>3=>0=>0=>0;
+ done-testing;
+}