aboutsummaryrefslogtreecommitdiff
path: root/challenge-152
diff options
context:
space:
mode:
authorLuca Ferrari <fluca1978@gmail.com>2022-02-14 13:39:40 +0100
committerLuca Ferrari <fluca1978@gmail.com>2022-02-14 13:39:40 +0100
commitd863e9de7ddd1634fd55dc48bed0f52143c4ae2c (patch)
tree6d40e36a5436c861a4c227a893c512473ca3d55c /challenge-152
parente7e88e0ea98728111f4a31b39c213cf6d6ac5c8e (diff)
downloadperlweeklychallenge-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.txt1
-rw-r--r--challenge-152/luca-ferrari/blog-2.txt1
-rwxr-xr-xchallenge-152/luca-ferrari/raku/ch-2.p69
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;
}