aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-280/wambash/raku/ch-1.raku20
-rw-r--r--challenge-280/wambash/raku/ch-2.raku20
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
+}