From 8965bd63503b1bd2f2f4b41a7e806e459124da3c Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Tue, 30 Jul 2024 19:09:03 +0200 Subject: solutions week 280 --- challenge-280/wambash/raku/ch-1.raku | 20 ++++++++++++++++++++ challenge-280/wambash/raku/ch-2.raku | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 challenge-280/wambash/raku/ch-1.raku create mode 100644 challenge-280/wambash/raku/ch-2.raku diff --git a/challenge-280/wambash/raku/ch-1.raku b/challenge-280/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..ed8a8d6f2e --- /dev/null +++ b/challenge-280/wambash/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub twice-appearance ($str) { + $str + andthen .comb + andthen .repeated + andthen .head +} + +multi MAIN (Bool :test($)!) { + use Test; + is twice-appearance('abcddbca'),'d'; + is twice-appearance('abccd'),'c'; + is twice-appearance('abcdabbb'),'a'; + done-testing; +} + +multi MAIN ($str) { + say twice-appearance $str +} diff --git a/challenge-280/wambash/raku/ch-2.raku b/challenge-280/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..50e5d8ed64 --- /dev/null +++ b/challenge-280/wambash/raku/ch-2.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub count-asterisks ($str) { + $str + andthen .split: /<[|]> ~ <[|]> <-[|]>* / + andthen .comb: '*' + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is count-asterisks('p|*e*rl|w**e|*ekly|'),2; + is count-asterisks('perl'),0; + is count-asterisks('th|ewe|e**|k|l***ych|alleng|e'),5; + done-testing; +} + +multi MAIN ($str) { + say count-asterisks $str +} -- cgit