From 3fcbf1e6badedd730f26611c2e59c1ae17d3b591 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Sun, 11 Feb 2024 20:18:33 +0100 Subject: solutions week 255 --- challenge-255/wambash/raku/ch-1.raku | 19 +++++++++++++++++++ challenge-255/wambash/raku/ch-2.raku | 25 +++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 challenge-255/wambash/raku/ch-1.raku create mode 100644 challenge-255/wambash/raku/ch-2.raku 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 +} -- cgit