aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2024-06-04 11:06:05 +0100
committerGitHub <noreply@github.com>2024-06-04 11:06:05 +0100
commit2dcd88795f4e8ce376e5af1c987b4ed5d62b76b4 (patch)
tree791e16aef82386b9972d21a21958025414e577ca
parentf54dacce7d08ba5dd88b1f1694cfb66aee8615e9 (diff)
parentb48721edf380a53de82783279dca7e99be626179 (diff)
downloadperlweeklychallenge-club-2dcd88795f4e8ce376e5af1c987b4ed5d62b76b4.tar.gz
perlweeklychallenge-club-2dcd88795f4e8ce376e5af1c987b4ed5d62b76b4.tar.bz2
perlweeklychallenge-club-2dcd88795f4e8ce376e5af1c987b4ed5d62b76b4.zip
Merge pull request #10200 from seaker/master
Feng Chang's Raku solutions
-rwxr-xr-xchallenge-272/feng-chang/raku/ch-1.raku5
-rwxr-xr-xchallenge-272/feng-chang/raku/ch-2.raku5
-rwxr-xr-xchallenge-272/feng-chang/raku/test.raku23
3 files changed, 33 insertions, 0 deletions
diff --git a/challenge-272/feng-chang/raku/ch-1.raku b/challenge-272/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..cfad2243be
--- /dev/null
+++ b/challenge-272/feng-chang/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(Str:D $s);
+
+put $s.subst('.', '[.]', :g);
diff --git a/challenge-272/feng-chang/raku/ch-2.raku b/challenge-272/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..a8829e7dda
--- /dev/null
+++ b/challenge-272/feng-chang/raku/ch-2.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(Str:D $s);
+
+put $s.comb».ord.rotor(2 => -1).map({ [-] $_ })».abs.sum;
diff --git a/challenge-272/feng-chang/raku/test.raku b/challenge-272/feng-chang/raku/test.raku
new file mode 100755
index 0000000000..89720db130
--- /dev/null
+++ b/challenge-272/feng-chang/raku/test.raku
@@ -0,0 +1,23 @@
+#!/bin/env raku
+
+# The Weekly Challenge 272
+use Test;
+
+sub pwc-test(Str:D $script, Bool :$deeply? = False, *@input) {
+ my ($expect, $assertion) = @input.splice(*-2, 2);
+ my $p = run $script, |@input, :out;
+ if $deeply {
+ is-deeply $p.out.slurp(:close).chomp.words.Bag, $expect, $assertion;
+ } else {
+ is $p.out.slurp(:close).chomp, $expect, $assertion;
+ }
+}
+
+# Task 1, Defrang IP Address
+pwc-test './ch-1.raku', '1.1.1.1', '1[.]1[.]1[.]1', 'Defrang IP Address: 1.1.1.1 => 1[.]1[.]1[.]1';
+pwc-test './ch-1.raku', '255.101.1.0', '255[.]101[.]1[.]0', 'Defrang IP Address: 255.101.1.0 => 255[.]101[.]1[.]0';
+
+# Task 2, String Score
+pwc-test './ch-2.raku', 'hello', 13, 'String Score: hello => 13';
+pwc-test './ch-2.raku', 'perl', 30, 'String Score: perl => 30';
+pwc-test './ch-2.raku', 'raku', 37, 'String Score: raku => 37';