From 5600a5beaa5bdd44917276e1a7527ac1675e597f Mon Sep 17 00:00:00 2001 From: Jan Krňávek Date: Fri, 7 Jun 2024 14:18:00 +0200 Subject: solutions week 272 --- challenge-272/wambash/raku/ch-1.raku | 16 ++++++++++++++++ challenge-272/wambash/raku/ch-2.raku | 21 +++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 challenge-272/wambash/raku/ch-1.raku create mode 100644 challenge-272/wambash/raku/ch-2.raku 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 +} -- cgit