diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2021-09-12 15:34:14 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2021-09-12 15:34:14 +0200 |
| commit | 0b38b75bc8ef6c434f309a06a88e407af7e501a5 (patch) | |
| tree | 8f9d9a36933552af9f3d6b62c36645ae02fed73b | |
| parent | ad47946738a42f6c711d1f905c4b16d00fea3572 (diff) | |
| download | perlweeklychallenge-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.raku | 24 |
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; +} |
