diff options
| -rw-r--r-- | challenge-340/wambash/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-340/wambash/raku/ch-2.raku | 19 |
2 files changed, 38 insertions, 0 deletions
diff --git a/challenge-340/wambash/raku/ch-1.raku b/challenge-340/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..c78cf98c74 --- /dev/null +++ b/challenge-340/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub duplicate-removals ($str) { + $str.subst: / (.) <~~>* $0 /,:d,:g +} + +multi MAIN (Bool :test($)!) { + use Test; + is duplicate-removals('abbaca'), 'ca'; + is duplicate-removals('azxxzy'), 'ay'; + is duplicate-removals('aaaaaaaa'), ''; + is duplicate-removals('aabccba'), 'a'; + is duplicate-removals('abcddcba'), ''; + done-testing; +} + +multi MAIN ($str) { + say duplicate-removals $str; +} diff --git a/challenge-340/wambash/raku/ch-2.raku b/challenge-340/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..3674f1dc91 --- /dev/null +++ b/challenge-340/wambash/raku/ch-2.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub ascending-numbers ($str) { + [<] $str.comb: /\d+/ +} + +multi MAIN (Bool :test($)!) { + use Test; + is ascending-numbers('The cat has 3 kittens 7 toys 10 beds'), True; + is ascending-numbers('Alice bought 5 apples 2 oranges 9 bananas'), False; + is ascending-numbers('I ran 1 mile 2 days 3 weeks 4 months'), True; + is ascending-numbers('Bob has 10 cars 10 bikes'), False; + is ascending-numbers('Zero is 0 one is 1 two is 2'), True; + done-testing; +} + +multi MAIN ($str) { + say ascending-numbers $str; +} |
