From f5fbc448431feb0c4cf80fae2db84d83e9db1289 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Wed, 29 Dec 2021 14:30:37 +0100 Subject: solutions week 145 --- challenge-145/wambash/raku/ch-1.raku | 16 ++++++++++++++++ challenge-145/wambash/raku/ch-2.raku | 25 +++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 challenge-145/wambash/raku/ch-1.raku create mode 100644 challenge-145/wambash/raku/ch-2.raku 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 { .+? }; + + +sub palindromic-tree ($s) { + $s + andthen .match: &palindrom, :ex + andthen .map: *.Str + andthen .unique +} + +multi MAIN (Bool :test($)!) { + use Test; + is palindromic-tree('redivider'),; + is palindromic-tree('deific'), ; + is palindromic-tree('rotors'), ; + is palindromic-tree('challenge'),; + is palindromic-tree('champion'), ; + is palindromic-tree('christmas'),; + done-testing; +} + +multi MAIN ($s) { + say palindromic-tree $s +} -- cgit