aboutsummaryrefslogtreecommitdiff
path: root/challenge-129
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-09-12 17:19:41 +0100
committerGitHub <noreply@github.com>2021-09-12 17:19:41 +0100
commitd3f8729a259f3a0df0917b142a7e278368b5f4bd (patch)
tree7457f745410b93c833591afe2c65ebe0f5eb02c4 /challenge-129
parent89e8d11fa52fb764ccd87f90ff6ab27b0b561df4 (diff)
parent0b38b75bc8ef6c434f309a06a88e407af7e501a5 (diff)
downloadperlweeklychallenge-club-d3f8729a259f3a0df0917b142a7e278368b5f4bd.tar.gz
perlweeklychallenge-club-d3f8729a259f3a0df0917b142a7e278368b5f4bd.tar.bz2
perlweeklychallenge-club-d3f8729a259f3a0df0917b142a7e278368b5f4bd.zip
Merge pull request #4863 from wambash/challenge-week-129
solution week 129-2
Diffstat (limited to 'challenge-129')
-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;
+}