diff options
| -rw-r--r-- | challenge-319/wambash/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-319/wambash/raku/ch-2.raku | 25 |
2 files changed, 44 insertions, 0 deletions
diff --git a/challenge-319/wambash/raku/ch-1.raku b/challenge-319/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..e90429cbdf --- /dev/null +++ b/challenge-319/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub word-count (+list) { + list + andthen .grep: *.contains: / ^<[aeiou]> | <[aeiou]>$ / + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is word-count(<uncode xml raku perl>),2; + is word-count(<the weekly challenge>),2; + is word-count(<perl python postgres>),0; + done-testing; +} + +multi MAIN (+list) { + say word-count list +} diff --git a/challenge-319/wambash/raku/ch-2.raku b/challenge-319/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..df247ac708 --- /dev/null +++ b/challenge-319/wambash/raku/ch-2.raku @@ -0,0 +1,25 @@ +#!/usr/bin/env raku +use v6.e.*; + +sub minimum-common (+arrays) { + arrays + andthen [∩] $_ + andthen .keys + andthen .min + +} + +multi MAIN (Bool :test($)!) { + use Test; + is minimum-common((1,2,3,4),(3,4,5,6)), 3; + is minimum-common((1,2,3),(2,4)), 2; + is minimum-common((1,2,3,4),(5,6,7,8)), Inf; + done-testing; +} + + multi MAIN (+arrays) { + say do with minimum-common arrays».comb: /\d+/ { + when Inf {-1} + default {$_} + } +} |
