diff options
| author | Jan Krňávek <Jan.Krnavek@gmail.com> | 2024-02-04 18:17:33 +0100 |
|---|---|---|
| committer | Jan Krňávek <Jan.Krnavek@gmail.com> | 2024-02-04 18:17:33 +0100 |
| commit | 77971ec449cc415f786f6ac7f0c955ebb762c9ef (patch) | |
| tree | 950341fb61ad49c1c2c4b4e368b57efcdd141f6f | |
| parent | 244511026cd069b2617d9ed9cbb951e1c0961358 (diff) | |
| download | perlweeklychallenge-club-77971ec449cc415f786f6ac7f0c955ebb762c9ef.tar.gz perlweeklychallenge-club-77971ec449cc415f786f6ac7f0c955ebb762c9ef.tar.bz2 perlweeklychallenge-club-77971ec449cc415f786f6ac7f0c955ebb762c9ef.zip | |
solutions week 254
| -rw-r--r-- | challenge-254/wambash/raku/ch-1.raku | 23 | ||||
| -rw-r--r-- | challenge-254/wambash/raku/ch-2.raku | 24 |
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-254/wambash/raku/ch-1.raku b/challenge-254/wambash/raku/ch-1.raku new file mode 100644 index 0000000000..4980c00d91 --- /dev/null +++ b/challenge-254/wambash/raku/ch-1.raku @@ -0,0 +1,23 @@ +#!/usr/bin/env raku + +sub three-power (UInt $n) { + 1,3,9 ... $n + andthen .tail // -1 + andthen $_ == $n +} + +multi MAIN (Bool :test($)!) { + use Test; + is three-power(27), True; + is three-power( 1), True; + is three-power( 0), False; + is three-power(12), False; + is three-power(3⁵⁶), True; + is three-power(3⁵⁶+1), False; + is three-power(3⁵⁶-3), False; + done-testing; +} + +multi MAIN (UInt $n) { + say three-power $n +} diff --git a/challenge-254/wambash/raku/ch-2.raku b/challenge-254/wambash/raku/ch-2.raku new file mode 100644 index 0000000000..4a59c6084e --- /dev/null +++ b/challenge-254/wambash/raku/ch-2.raku @@ -0,0 +1,24 @@ +#!/usr/bin/env raku + +my regex vowels { :i <[aeiou]> } + +sub reverse-vowels ($s) { + $s + andthen .comb: /<vowels>/ + andthen .reverse + andthen $s, |.pairs + andthen .reduce: -> $s, $ch { $s.subst: /<vowels>/, $ch.value, :ii, nth => $ch.key + 1 } +} + +multi MAIN (Bool :test($)!) { + use Test; + is reverse-vowels('Raku'),'Ruka'; + is reverse-vowels('Uiua'),'Auiu'; + is reverse-vowels('Perl'),'Perl'; + is reverse-vowels('Julia'),'Jaliu'; + done-testing; +} + +multi MAIN ($s) { + say reverse-vowels $s +} |
