diff options
| -rw-r--r-- | challenge-216/wambash/raku/ch-1.raku | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/challenge-216/wambash/raku/ch-1.raku b/challenge-216/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..62bd70ec8a --- /dev/null +++ b/challenge-216/wambash/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku +use v6.e.*; + +sub registration-number (+@words, :$reg!) { + my &letters = *.lc.comb(/<:alpha>/).Bag; + my Bag $reg-letters = letters $reg; + @words.grep: $reg-letters ⊆ *.&letters +} + +multi MAIN (Bool :test($)!) { + use Test; + is registration-number(<abc abcd bcd>, :reg('AB1 2CD')), ('abcd',); + is registration-number(<job james bjorg>, :reg('007 JB')), ('job', 'bjorg'); + is registration-number(<crack road rac>, :reg('C7 RA2')), ('crack', 'rac'); + done-testing; +} + +multi MAIN (*@words,:$reg!) { + say registration-number @words, :$reg +} |
