aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-220/simon-proctor/raku/ch-1.raku16
1 files changed, 16 insertions, 0 deletions
diff --git a/challenge-220/simon-proctor/raku/ch-1.raku b/challenge-220/simon-proctor/raku/ch-1.raku
new file mode 100644
index 0000000000..c6043d4548
--- /dev/null
+++ b/challenge-220/simon-proctor/raku/ch-1.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+
+#| Given a list of words return a list of letters that appear in all of them
+multi sub MAIN( *@words ) {
+ found-letters(@words).join(' ').say;
+}
+
+multi sub MAIN('TEST') {
+ use Test;
+ is found-letters( 'Perl', 'Rust', 'Raku' ), ('r');
+ is found-letters( 'love', 'live', 'leave' ), ('e','l','v');
+}
+
+sub found-letters ( *@words ) {
+ ( [∩] @words.map( *.fc.comb ) ).keys.sort;
+}