diff options
| -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 +} |
