diff options
| -rw-r--r-- | challenge-273/wambash/raku/ch-1.raku | 24 | ||||
| -rw-r--r-- | challenge-273/wambash/raku/ch-2.raku | 18 |
2 files changed, 42 insertions, 0 deletions
diff --git a/challenge-273/wambash/raku/ch-1.raku b/challenge-273/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..ed86f71bba --- /dev/null +++ b/challenge-273/wambash/raku/ch-1.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +sub percentage-of-character ($str,:$char) { + $str.comb + andthen .Bag + andthen .{$char}/.total + andthen 100 * $_ + andthen .round +} + +multi MAIN (Bool :test($)!) { + use Test; + is percentage-of-character('perl',:char<e>), 25; + is percentage-of-character('java',:char<a>), 50; + is percentage-of-character('python',:char<m>), 0; + is percentage-of-character('ada',:char<a>), 67; + is percentage-of-character('ballerina',:char<l>), 22; + is percentage-of-character('analitik',:char<k>), 13; + done-testing; +} + +multi MAIN ($str,:$char) { + say percentage-of-character $str,:$char +} diff --git a/challenge-273/wambash/raku/ch-2.raku b/challenge-273/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..13d15317a5 --- /dev/null +++ b/challenge-273/wambash/raku/ch-2.raku @@ -0,0 +1,18 @@ +#!/usr/bin/env raku + +sub B-after-A ($str) { + $str.contains: /^ a* b+ $/ +} + +multi MAIN (Bool :test($)!) { + use Test; + is B-after-A('aabb'),True; + is B-after-A('abab'),False; + is B-after-A('aaa'),False; + is B-after-A('bbb'),True; + done-testing; +} + +multi MAIN ($str) { + say B-after-A $str +} |
