From 8fd0343b81b279fdd12009625081fe190be44ca9 Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Fri, 26 Jul 2024 00:56:17 +0200 Subject: solutions week 279 --- challenge-279/wambash/raku/ch-1.raku | 20 ++++++++++++++++++++ challenge-279/wambash/raku/ch-2.raku | 21 +++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 challenge-279/wambash/raku/ch-1.raku create mode 100644 challenge-279/wambash/raku/ch-2.raku diff --git a/challenge-279/wambash/raku/ch-1.raku b/challenge-279/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..8e52054975 --- /dev/null +++ b/challenge-279/wambash/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub sort-letters (@letters,@weights) { + @weights Z, @letters + andthen .map: { IntStr.new: |$_ }\ + andthen .sort + andthen .join +} + +multi MAIN (Bool :test($)!) { + use Test; + is sort-letters(, (3,2,1,4)),'PERL'; + is sort-letters(, (2,4,1,3)),'RAKU'; + is sort-letters(, (5, 4, 2, 6, 1, 3)),'PYTHON'; + done-testing; +} + +multi MAIN ($letters,*@weights) { + say sort-letters $letters.comb, @weights +} diff --git a/challenge-279/wambash/raku/ch-2.raku b/challenge-279/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..5932519cbb --- /dev/null +++ b/challenge-279/wambash/raku/ch-2.raku @@ -0,0 +1,21 @@ +#!/usr/bin/env raku + +sub split-string ($str) { + $str + andthen .comb: /:i <[aeiou]>/ + andthen .elems + andthen $_ %% 2 +} + +multi MAIN (Bool :test($)!) { + use Test; + is split-string('perl'), False; + is split-string('book'), True; + is split-string('good morning'), True; + is split-string('Ook'), True; + done-testing; +} + +multi MAIN ($str) { + say split-string $str +} -- cgit