From 02973027620ca4e882e34fcfea133b0f77221538 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Thu, 28 Nov 2024 00:03:49 +0100 Subject: [PATCH] Add a `can_hold` method --- rectangles/src/main.rs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/rectangles/src/main.rs b/rectangles/src/main.rs index e4f45e8..a0825bc 100644 --- a/rectangles/src/main.rs +++ b/rectangles/src/main.rs @@ -8,6 +8,10 @@ impl Rectangle { fn area(&self) -> u32 { self.width * self.height } + + fn can_hold(&self, other: &Rectangle) -> bool { + self.width > other.width && self.height > other.height + } } fn main() { @@ -15,9 +19,15 @@ fn main() { width: 30, height: 50, }; + let rect2 = Rectangle { + width: 10, + height: 40, + }; + let rect3 = Rectangle { + width: 60, + height: 45, + }; - println!( - "The area of the rectangle is {} square pixels.", - rect1.area() - ); + println!("Can rect1 hold rect2? {}", rect1.can_hold(&rect2)); + println!("Can rect1 hold rect3? {}", rect1.can_hold(&rect3)); }