diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2024-06-04 11:06:05 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-04 11:06:05 +0100 |
| commit | 2dcd88795f4e8ce376e5af1c987b4ed5d62b76b4 (patch) | |
| tree | 791e16aef82386b9972d21a21958025414e577ca | |
| parent | f54dacce7d08ba5dd88b1f1694cfb66aee8615e9 (diff) | |
| parent | b48721edf380a53de82783279dca7e99be626179 (diff) | |
| download | perlweeklychallenge-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-x | challenge-272/feng-chang/raku/ch-1.raku | 5 | ||||
| -rwxr-xr-x | challenge-272/feng-chang/raku/ch-2.raku | 5 | ||||
| -rwxr-xr-x | challenge-272/feng-chang/raku/test.raku | 23 |
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'; |
