diff options
| author | Markus "Holli" Holzer <holli.holzer@gmail.com> | 2020-10-26 22:14:30 +0100 |
|---|---|---|
| committer | Markus "Holli" Holzer <holli.holzer@gmail.com> | 2020-10-26 22:14:30 +0100 |
| commit | dde00758f57a01e424cbd98117db89279f1fcdb8 (patch) | |
| tree | d7d453a916646e7001efd0575b406002e71b1ca4 /challenge-084/markus-holzer/raku | |
| parent | e4b78f05d8535eba67d1b084ee02040517f3eac7 (diff) | |
| download | perlweeklychallenge-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.raku | 17 |
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]); |
