aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark A <andemark@a-iot1t.uch.ad.pvt>2021-09-27 03:04:37 -0600
committerMark A <andemark@a-iot1t.uch.ad.pvt>2021-09-27 03:04:37 -0600
commit84502965d2be5006cd6b6e2ff431bae59597ee52 (patch)
tree82978d32b694b9f34d7b49dd2a7a0d55ad0da508
parent882a3ad1db63c62ede71b5c135e586f2bdf3794e (diff)
downloadperlweeklychallenge-club-84502965d2be5006cd6b6e2ff431bae59597ee52.tar.gz
perlweeklychallenge-club-84502965d2be5006cd6b6e2ff431bae59597ee52.tar.bz2
perlweeklychallenge-club-84502965d2be5006cd6b6e2ff431bae59597ee52.zip
Challenge 132 Solutions (Raku)
-rw-r--r--challenge-132/mark-anderson/raku/ch-1.raku14
-rw-r--r--challenge-132/mark-anderson/raku/ch-2.raku33
2 files changed, 47 insertions, 0 deletions
diff --git a/challenge-132/mark-anderson/raku/ch-1.raku b/challenge-132/mark-anderson/raku/ch-1.raku
new file mode 100644
index 0000000000..fd0fa2a4cd
--- /dev/null
+++ b/challenge-132/mark-anderson/raku/ch-1.raku
@@ -0,0 +1,14 @@
+#!/usr/bin/env raku
+
+say mirror-dates('1967/02/14');
+
+sub mirror-dates($date)
+{
+ my $t = Date.today;
+ my $d = Date.new(|$date.split("/"));
+
+ my $days = $t - $d;
+
+ ($d.earlier(:$days).yyyy-mm-dd('/'),
+ $t.later(:$days).yyyy-mm-dd('/'));
+}
diff --git a/challenge-132/mark-anderson/raku/ch-2.raku b/challenge-132/mark-anderson/raku/ch-2.raku
new file mode 100644
index 0000000000..9f7976f138
--- /dev/null
+++ b/challenge-132/mark-anderson/raku/ch-2.raku
@@ -0,0 +1,33 @@
+#!/usr/bin/env raku
+
+my @players-age = (
+ < 20 Alex >,
+ < 28 Joe >,
+ < 38 Mike >,
+ < 18 Alex >,
+ < 25 David >,
+ < 18 Simon >,
+);
+
+my @players-name = (
+ < Alex Stewart >,
+ < Joe Root >,
+ < Mike Gatting >,
+ < Joe Blog >,
+ < Alex Jones >,
+ < Simon Duane >,
+);
+
+my %a = @players-age.classify({ .[1] }, :as{ .[0] });
+my %n = @players-name.classify({ .[0] }, :as{ .[1] });
+
+for %a.keys.sort -> $k
+{
+ if %n{$k}:exists
+ {
+ for %a{$k}<> X %n{$k}<>
+ {
+ printf("%-3d%-6s%s\n", .[0], $k, .[1]);
+ }
+ }
+}