aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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
+}