aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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]);
+ }
+ }
+}