From 84502965d2be5006cd6b6e2ff431bae59597ee52 Mon Sep 17 00:00:00 2001 From: Mark A Date: Mon, 27 Sep 2021 03:04:37 -0600 Subject: Challenge 132 Solutions (Raku) --- challenge-132/mark-anderson/raku/ch-1.raku | 14 +++++++++++++ challenge-132/mark-anderson/raku/ch-2.raku | 33 ++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 challenge-132/mark-anderson/raku/ch-1.raku create mode 100644 challenge-132/mark-anderson/raku/ch-2.raku 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]); + } + } +} -- cgit