diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2024-07-30 19:09:03 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2024-07-30 19:09:03 +0200 |
| commit | 8965bd63503b1bd2f2f4b41a7e806e459124da3c (patch) | |
| tree | 0cc86bd26470f66be0978847a345bd513d9656eb | |
| parent | a2a0393bed0a645143ff47e7c2ef85c67fa16528 (diff) | |
| download | perlweeklychallenge-club-8965bd63503b1bd2f2f4b41a7e806e459124da3c.tar.gz perlweeklychallenge-club-8965bd63503b1bd2f2f4b41a7e806e459124da3c.tar.bz2 perlweeklychallenge-club-8965bd63503b1bd2f2f4b41a7e806e459124da3c.zip | |
solutions week 280
| -rw-r--r-- | challenge-280/wambash/raku/ch-1.raku | 20 | ||||
| -rw-r--r-- | challenge-280/wambash/raku/ch-2.raku | 20 |
2 files changed, 40 insertions, 0 deletions
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 +} |
