aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2024-06-07 14:18:00 +0200
committerJan Krňávek <Jan.Krnavek@gmail.com>2024-06-07 14:18:00 +0200
commit5600a5beaa5bdd44917276e1a7527ac1675e597f (patch)
treea39baf3bdbaad9cfc2aa36a3fa16c9cbd94a8aa1
parent48d0e34525b4183b4943fd8108e14755bf96e6d4 (diff)
downloadperlweeklychallenge-club-5600a5beaa5bdd44917276e1a7527ac1675e597f.tar.gz
perlweeklychallenge-club-5600a5beaa5bdd44917276e1a7527ac1675e597f.tar.bz2
perlweeklychallenge-club-5600a5beaa5bdd44917276e1a7527ac1675e597f.zip
solutions week 272
-rw-r--r--challenge-272/wambash/raku/ch-1.raku16
-rw-r--r--challenge-272/wambash/raku/ch-2.raku21
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-272/wambash/raku/ch-1.raku b/challenge-272/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..d64d540e06
--- /dev/null
+++ b/challenge-272/wambash/raku/ch-1.raku
@@ -0,0 +1,16 @@
+#!/usr/bin/env raku
+
+sub defang-IP-address ($ip) {
+ $ip.trans: ['.'] => ['[.]']
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is defang-IP-address('1.1.1.1'),'1[.]1[.]1[.]1';
+ is defang-IP-address('255.101.1.0'),'255[.]101[.]1[.]0';
+ done-testing;
+}
+
+multi MAIN ($ip) {
+ say defang-IP-address $ip
+}
diff --git a/challenge-272/wambash/raku/ch-2.raku b/challenge-272/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..6178b94265
--- /dev/null
+++ b/challenge-272/wambash/raku/ch-2.raku
@@ -0,0 +1,21 @@
+#!/usr/bin/env raku
+
+sub string-score ($str) {
+ $str
+ andthen .ords
+ andthen .rotor: 2 => -1
+ andthen .map: -> ($x, $y) {abs $x - $y}\
+ andthen .sum
+}
+
+multi MAIN (Bool :test($)!) {
+ use Test;
+ is string-score('hello'),13;
+ is string-score('perl'), 30;
+ is string-score('raku'), 37;
+ done-testing;
+}
+
+multi MAIN ($str) {
+ say string-score $str
+}