diff options
| author | Luca Ferrari <fluca1978@gmail.com> | 2022-02-14 13:39:40 +0100 |
|---|---|---|
| committer | Luca Ferrari <fluca1978@gmail.com> | 2022-02-14 13:39:40 +0100 |
| commit | d863e9de7ddd1634fd55dc48bed0f52143c4ae2c (patch) | |
| tree | 6d40e36a5436c861a4c227a893c512473ca3d55c /challenge-152 | |
| parent | e7e88e0ea98728111f4a31b39c213cf6d6ac5c8e (diff) | |
| download | perlweeklychallenge-club-d863e9de7ddd1634fd55dc48bed0f52143c4ae2c.tar.gz perlweeklychallenge-club-d863e9de7ddd1634fd55dc48bed0f52143c4ae2c.tar.bz2 perlweeklychallenge-club-d863e9de7ddd1634fd55dc48bed0f52143c4ae2c.zip | |
Improved Task 2.
Blog references
Diffstat (limited to 'challenge-152')
| -rw-r--r-- | challenge-152/luca-ferrari/blog-1.txt | 1 | ||||
| -rw-r--r-- | challenge-152/luca-ferrari/blog-2.txt | 1 | ||||
| -rwxr-xr-x | challenge-152/luca-ferrari/raku/ch-2.p6 | 9 |
3 files changed, 6 insertions, 5 deletions
diff --git a/challenge-152/luca-ferrari/blog-1.txt b/challenge-152/luca-ferrari/blog-1.txt new file mode 100644 index 0000000000..1ff054de6b --- /dev/null +++ b/challenge-152/luca-ferrari/blog-1.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2022/02/14/PerlWeeklyChallenge152.html#task1 diff --git a/challenge-152/luca-ferrari/blog-2.txt b/challenge-152/luca-ferrari/blog-2.txt new file mode 100644 index 0000000000..e86f18d955 --- /dev/null +++ b/challenge-152/luca-ferrari/blog-2.txt @@ -0,0 +1 @@ +https://fluca1978.github.io/2022/02/14/PerlWeeklyChallenge152.html#task2 diff --git a/challenge-152/luca-ferrari/raku/ch-2.p6 b/challenge-152/luca-ferrari/raku/ch-2.p6 index 65be181aea..c68c8c447a 100755 --- a/challenge-152/luca-ferrari/raku/ch-2.p6 +++ b/challenge-152/luca-ferrari/raku/ch-2.p6 @@ -50,10 +50,9 @@ class Rectangle { # $ raku ch-2.p6 -3 -1 1 3 -1 -3 2 2 # 25 sub MAIN( *@points where { @points.elems == 8 && @points.grep( * ~~ Int ) == @points.elems } ) { - my @corners; - @corners.push: Point.new( x => $_[ 0 ].Int, y => $_[ 1 ].Int ) for @points.rotor( 2 ); - my Rectangle $r1 = Rectangle.new: corner-left => @corners[ 0 ], corner-right => @corners[ 1 ]; - my Rectangle $r2 = Rectangle.new: corner-left => @corners[ 2 ], corner-right => @corners[ 3 ]; - + my @corners = @points.rotor( 2 ).map: { Point.new( x => $_[ 0 ].Int, y => $_[ 1 ].Int ) }; + my Rectangle ( $r1, $r2 ) = @corners.rotor( 2 ).map: { Rectangle.new( + corner-left => $_[ 0 ], + corner-right => $_[ 1 ] ) }; "{ $r1.area + $r2.area - $r1.overlapping-area( $r2 ) }".say; } |
