aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-03-29 12:59:44 +0100
committerGitHub <noreply@github.com>2020-03-29 12:59:44 +0100
commit0fa1b64313bca45d202f504ad2608598376e1ecd (patch)
tree4e6ac0ea432dba66bb181bfa2722046a59714013
parentca48a4db11fa1d49a2a10002f7a434366ae9e6c9 (diff)
parent1599f62c62c4fe51244f167ffa24bb6626a9801f (diff)
downloadperlweeklychallenge-club-0fa1b64313bca45d202f504ad2608598376e1ecd.tar.gz
perlweeklychallenge-club-0fa1b64313bca45d202f504ad2608598376e1ecd.tar.bz2
perlweeklychallenge-club-0fa1b64313bca45d202f504ad2608598376e1ecd.zip
Merge pull request #1477 from andemark/branch-for-challenge-053
final versions
-rw-r--r--challenge-053/mark-anderson/raku/ch-1.p614
-rw-r--r--challenge-053/mark-anderson/raku/ch-2.p617
2 files changed, 20 insertions, 11 deletions
diff --git a/challenge-053/mark-anderson/raku/ch-1.p6 b/challenge-053/mark-anderson/raku/ch-1.p6
index b45f906722..318312966a 100644
--- a/challenge-053/mark-anderson/raku/ch-1.p6
+++ b/challenge-053/mark-anderson/raku/ch-1.p6
@@ -1,11 +1,17 @@
-#!/usr/bin/env raku
+#!/usr/bin/env raku
my @matrix = [ 1, 2, 3 ],
[ 4, 5, 6 ],
[ 7, 8, 9 ];
-say [Z] @matrix.reverse; # rotate 90
+say "Matrix";
+.say for @matrix;
-say @matrix.map(*.reverse).reverse; # rotate 180
+say "\nMatrix rotated 90";
+.say for ([Z] @matrix.reverse)>>.Array;
-say ([Z] @matrix).reverse; # rotate 270
+say "\nMatrix rotated 180";
+.say for @matrix>>.reverse.reverse>>.Array;
+
+say "\nMatrix rotated 270";
+.say for ([Z] @matrix).reverse>>.Array;
diff --git a/challenge-053/mark-anderson/raku/ch-2.p6 b/challenge-053/mark-anderson/raku/ch-2.p6
index 94cc2f68d9..9fdec917a1 100644
--- a/challenge-053/mark-anderson/raku/ch-2.p6
+++ b/challenge-053/mark-anderson/raku/ch-2.p6
@@ -8,17 +8,20 @@ sub MAIN($length where 1 <= $length <= 5) {
u => <o e>;
for <a e i o u> -> $first_letter {
- my @queue = Empty;
- @queue.push($first_letter);
+ append_letter($first_letter);
+ }
+
+ sub append_letter($str) {
+ if ($str.chars == $length) {
+ say $str;
+ }
- while @queue[0].chars < $length {
- my $str = @queue.shift;
+ else {
my $last_letter = $str.substr(*-1);
+
for %next_letter{$last_letter}.Array -> $ltr {
- @queue.push($str ~ $ltr);
+ append_letter($str ~ $ltr);
}
}
-
- say @queue.join("\n");
}
}