diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-07-23 14:35:56 +0200 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2023-07-23 14:35:56 +0200 |
| commit | bbb9c5cbddec7d283f7bd6a67dbef1f9e22c3c39 (patch) | |
| tree | f82c1ab794d647adb386308872919848741048e4 | |
| parent | c2f66544f55e318c1d8ec8d7f169a8e7f1a11acc (diff) | |
| download | perlweeklychallenge-club-bbb9c5cbddec7d283f7bd6a67dbef1f9e22c3c39.tar.gz perlweeklychallenge-club-bbb9c5cbddec7d283f7bd6a67dbef1f9e22c3c39.tar.bz2 perlweeklychallenge-club-bbb9c5cbddec7d283f7bd6a67dbef1f9e22c3c39.zip | |
solutions week 226
| -rw-r--r-- | challenge-226/wambash/raku/ch-1.raku | 19 | ||||
| -rw-r--r-- | challenge-226/wambash/raku/ch-2.raku | 20 |
2 files changed, 39 insertions, 0 deletions
diff --git a/challenge-226/wambash/raku/ch-1.raku b/challenge-226/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..bc60f6a71b --- /dev/null +++ b/challenge-226/wambash/raku/ch-1.raku @@ -0,0 +1,19 @@ +#!/usr/bin/env raku + +sub shuffle-string ($string, +@indices) { + @indices Z=> $string.comb + andthen .sort + andthen .map: *.value + andthen .join +} + +multi MAIN (Bool :test($)!) { + use Test; + is shuffle-string('lacelengh', 3,2,0,5,4,8,6,7,1), 'challenge'; + is shuffle-string('rulepark',4,7,3,1,0,5,2,6), 'perlraku'; + done-testing; +} + +multi MAIN ($string, +@indices) { + say shuffle-string $string, @indices +} diff --git a/challenge-226/wambash/raku/ch-2.raku b/challenge-226/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..69c0afaf22 --- /dev/null +++ b/challenge-226/wambash/raku/ch-2.raku @@ -0,0 +1,20 @@ +#!/usr/bin/env raku + +sub zero-array (+ints) { + ints + andthen .grep: * !== 0 + andthen .unique + andthen .elems +} + +multi MAIN (Bool :test($)!) { + use Test; + is zero-array(1,5,0,3,5),3; + is zero-array(0),0; + is zero-array(2,1,4,0,3),4; + done-testing; +} + +multi MAIN (+ints) { + say zero-array ints +} |
