aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2024-02-11 20:18:33 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2024-02-11 20:18:33 +0100
commit3fcbf1e6badedd730f26611c2e59c1ae17d3b591 (patch)
tree2e1243f23c5585904290255f2ab29a0fccb1fe2a
parent48eb5f9ee75913c67bb8be21842a730372ecaa1a (diff)
downloadperlweeklychallenge-club-3fcbf1e6badedd730f26611c2e59c1ae17d3b591.tar.gz
perlweeklychallenge-club-3fcbf1e6badedd730f26611c2e59c1ae17d3b591.tar.bz2
perlweeklychallenge-club-3fcbf1e6badedd730f26611c2e59c1ae17d3b591.zip
solutions week 255
-rw-r--r--challenge-255/wambash/raku/ch-1.raku19
-rw-r--r--challenge-255/wambash/raku/ch-2.raku25
2 files changed, 44 insertions, 0 deletions
diff --git a/challenge-255/wambash/raku/ch-1.raku b/challenge-255/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..a8d71aee55
--- /dev/null
+++ b/challenge-255/wambash/raku/ch-1.raku
@@ -0,0 +1,19 @@
+#!/usr/bin/env raku
+
+my &letters = *.comb.Bag;
+
+sub odd-charakter ($s,$t) {
+ letters( $t ) ∖ letters( $s )
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is odd-charakter('Perl','Peerl'),'e';
+ is odd-charakter('Weekly','Weeakly'),'a';
+ is odd-charakter('Box','Boxy'),'y';
+ done-testing;
+}
+
+multi MAIN ($s,$t) {
+ put odd-charakter $s,$t
+}
diff --git a/challenge-255/wambash/raku/ch-2.raku b/challenge-255/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..4f6e074c2a
--- /dev/null
+++ b/challenge-255/wambash/raku/ch-2.raku
@@ -0,0 +1,25 @@
+#!/usr/bin/env raku
+use v6.e.PREVIEW;
+
+sub most-frequent-word ($p,$w) {
+ $p
+ andthen .comb: /\w+/
+ andthen .grep: { $_ !eq $w }\
+ andthen .Bag
+ andthen .max: *.value
+ andthen .key
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is most-frequent-word('Joe hit a ball, the hit ball flew far after it was hit.', 'hit'), 'ball';
+ is most-frequent-word(
+ 'Perl and Raku belong to the same family. Perl is the most popular language in the weekly challenge.',
+ 'the',
+ ), 'Perl';
+ done-testing;
+}
+
+multi MAIN ($p,$w) {
+ say most-frequent-word $p,$w
+}