Files
rust-lang-zh_CN/projects/rectangles/src/main.rs
rust-lang.xfoss.com 9e7b57f06b Refined Ch05.
2023-12-15 16:49:34 +08:00

45 lines
865 B
Rust

#[derive(Debug)]
struct Rectangle {
width: u32,
height: u32,
}
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)
|| (self.width > other.height && self.height > other.width)
}
fn square(size: u32) -> Self {
Self {
width: size,
height: size,
}
}
}
fn main() {
let rect1 = Rectangle {
width: 30,
height: 50,
};
let rect2 = Rectangle {
width: 10,
height: 40,
};
let rect3 = Rectangle {
width: 48,
height: 28,
};
println! ("rect1 可以容纳 rect2 吗?{}", rect1.can_hold(&rect2));
println! ("rect1 可以容纳 rect3 吗?{}", rect1.can_hold(&rect3));
}