aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad Sajid Anwar <Mohammad.Anwar@yahoo.com>2025-07-31 11:15:16 +0100
committerGitHub <noreply@github.com>2025-07-31 11:15:16 +0100
commit5d11d572c0910dfae184cf432c151f73e8a994fa (patch)
tree9000f1a40505ff9435b9c96abe0a948b389563e6
parent0fa9ef8fc62926b4d6f8b9d06c878594f8352988 (diff)
parent13a90442cd902cdfe38fdf4893525e0dc06ebe8d (diff)
downloadperlweeklychallenge-club-5d11d572c0910dfae184cf432c151f73e8a994fa.tar.gz
perlweeklychallenge-club-5d11d572c0910dfae184cf432c151f73e8a994fa.tar.bz2
perlweeklychallenge-club-5d11d572c0910dfae184cf432c151f73e8a994fa.zip
Merge pull request #12432 from seaker/master
challenge 332, raku solutions
-rwxr-xr-xchallenge-332/feng-chang/raku/ch-1.raku5
-rwxr-xr-xchallenge-332/feng-chang/raku/ch-2.raku5
-rwxr-xr-xchallenge-332/feng-chang/raku/test.raku25
3 files changed, 35 insertions, 0 deletions
diff --git a/challenge-332/feng-chang/raku/ch-1.raku b/challenge-332/feng-chang/raku/ch-1.raku
new file mode 100755
index 0000000000..44b3e022f3
--- /dev/null
+++ b/challenge-332/feng-chang/raku/ch-1.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(Str:D $date where *.Date);
+
+put $date.comb(/\d+/).map(*.Int.base(2)).join('-');
diff --git a/challenge-332/feng-chang/raku/ch-2.raku b/challenge-332/feng-chang/raku/ch-2.raku
new file mode 100755
index 0000000000..60643c2571
--- /dev/null
+++ b/challenge-332/feng-chang/raku/ch-2.raku
@@ -0,0 +1,5 @@
+#!/bin/env raku
+
+unit sub MAIN(Str:D $s);
+
+put so $s.comb.Bag.values.map(*%%2).none;
diff --git a/challenge-332/feng-chang/raku/test.raku b/challenge-332/feng-chang/raku/test.raku
new file mode 100755
index 0000000000..82eb583a29
--- /dev/null
+++ b/challenge-332/feng-chang/raku/test.raku
@@ -0,0 +1,25 @@
+#!/bin/env raku
+
+# The Weekly Challenge 332
+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, Binary Date
+pwc-test './ch-1.raku', '2025-07-26', '11111101001-111-11010', 'Binary Date: 2025-07-26 => 11111101001-111-11010';
+pwc-test './ch-1.raku', '2000-02-02', '11111010000-10-10', 'Binary Date: 2000-02-02 => 11111010000-10-10';
+pwc-test './ch-1.raku', '2024-12-31', '11111101000-1100-11111', 'Binary Date: 2024-12-31 => 11111101000-1100-11111';
+
+# Task 2, Odd Letters
+pwc-test './ch-2.raku', 'weekly', 'False', 'Odd Letters: weekly => false';
+pwc-test './ch-2.raku', 'perl', 'True', 'Odd Letters: perl => true';
+pwc-test './ch-2.raku', 'challenge', 'False', 'Odd Letters: challenge => false';
+pwc-test './ch-2.raku', 'eerie', 'True', 'Odd Letters: eerie => true';