diff options
| -rw-r--r-- | challenge-132/mark-anderson/raku/ch-1.raku | 14 | ||||
| -rw-r--r-- | challenge-132/mark-anderson/raku/ch-2.raku | 33 |
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]); + } + } +} |
