aboutsummaryrefslogtreecommitdiff
path: root/challenge-084/markus-holzer/raku
diff options
context:
space:
mode:
authorMarkus "Holli" Holzer <holli.holzer@gmail.com>2020-10-26 22:14:30 +0100
committerMarkus "Holli" Holzer <holli.holzer@gmail.com>2020-10-26 22:14:30 +0100
commitdde00758f57a01e424cbd98117db89279f1fcdb8 (patch)
treed7d453a916646e7001efd0575b406002e71b1ca4 /challenge-084/markus-holzer/raku
parente4b78f05d8535eba67d1b084ee02040517f3eac7 (diff)
downloadperlweeklychallenge-club-dde00758f57a01e424cbd98117db89279f1fcdb8.tar.gz
perlweeklychallenge-club-dde00758f57a01e424cbd98117db89279f1fcdb8.tar.bz2
perlweeklychallenge-club-dde00758f57a01e424cbd98117db89279f1fcdb8.zip
better
Diffstat (limited to 'challenge-084/markus-holzer/raku')
-rw-r--r--challenge-084/markus-holzer/raku/ch-2.raku17
1 files changed, 8 insertions, 9 deletions
diff --git a/challenge-084/markus-holzer/raku/ch-2.raku b/challenge-084/markus-holzer/raku/ch-2.raku
index d369f1000e..e7b70071b7 100644
--- a/challenge-084/markus-holzer/raku/ch-2.raku
+++ b/challenge-084/markus-holzer/raku/ch-2.raku
@@ -6,15 +6,14 @@ my @matrix[4,4] =
my ( $h, $w ) = @matrix.shape;
-# I had no idea min is also an infix until yesterdays review video
-my @s = gather for [X] 0..^$h, 0..^$w, 1..$h min $w -> ($r, $c, $o) {
- take $r, $c, $o if
- $c + $o < $w && # check boundaries
- $r + $o < $h &&
- all @matrix[ $r+$o; $c+$o ], # check corners
- @matrix[ $r+$o; $c ],
- @matrix[ $r; $c+$o ],
- @matrix[ $r; $c] }
+my @s = gather for [X] 0..^$h, 0..^$w -> ($r, $c) {
+ # I had no idea min is also an infix until yesterdays review video
+ for 1 ..^ ($h min $w) - ($r max $c) -> $o {
+ take $r, $c, $o if
+ @matrix[ $r+$o; $c+$o ] &
+ @matrix[ $r+$o; $c ] &
+ @matrix[ $r; $c+$o ] &
+ @matrix[ $r; $c] }}
say +@s;
"r: {.[0]+1}, c:{.[1]+1}, {.[2]+1}x{.[2]+1}".say for @s.sort(*.[2]);