diff options
| -rw-r--r-- | challenge-145/wambash/raku/ch-1.raku | 16 | ||||
| -rw-r--r-- | challenge-145/wambash/raku/ch-2.raku | 25 |
2 files changed, 41 insertions, 0 deletions
diff --git a/challenge-145/wambash/raku/ch-1.raku b/challenge-145/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..358cab5ca8 --- /dev/null +++ b/challenge-145/wambash/raku/ch-1.raku @@ -0,0 +1,16 @@ +#!/usr/bin/env raku + +sub dot-product (@a,@b) { + @a Z* @b + andthen .sum +} + +multi MAIN (Bool :test($)!) { + use Test; + is dot-product((1,2,3),(4,5,6)), 32; + done-testing; +} + +multi MAIN (:@a,:@b) { + say dot-product @a,@b +} diff --git a/challenge-145/wambash/raku/ch-2.raku b/challenge-145/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..f69067c6b4 --- /dev/null +++ b/challenge-145/wambash/raku/ch-2.raku @@ -0,0 +1,25 @@ +#!/usr/bin/env raku +my regex palindrom { .+? <?{ $/ eq $/.flip}> }; + + +sub palindromic-tree ($s) { + $s + andthen .match: &palindrom, :ex + andthen .map: *.Str + andthen .unique +} + +multi MAIN (Bool :test($)!) { + use Test; + is palindromic-tree('redivider'),<r redivider e edivide d divid i ivi v>; + is palindromic-tree('deific'), <d e i ifi f c>; + is palindromic-tree('rotors'), <r rotor o oto t s>; + is palindromic-tree('challenge'),<c h a l ll e n g>; + is palindromic-tree('champion'), <c h a m p i o n>; + is palindromic-tree('christmas'),<c h r i s t m a>; + done-testing; +} + +multi MAIN ($s) { + say palindromic-tree $s +} |
