RBE custom types structs activity 1
This commit is contained in:
parent
013a8faa2f
commit
c57baae2cc
@ -8,17 +8,22 @@ struct Unit;
|
|||||||
|
|
||||||
struct Pair(i32, f32);
|
struct Pair(i32, f32);
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
struct Point {
|
struct Point {
|
||||||
x: f32,
|
x: f32,
|
||||||
y: f32,
|
y: f32,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[allow(dead_code)]
|
#[derive(Debug)]
|
||||||
struct Rectangle {
|
struct Rectangle {
|
||||||
top_left: Point,
|
top_left: Point,
|
||||||
bottom_right: Point,
|
bottom_right: Point,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn rect_area(r: Rectangle) -> f32 {
|
||||||
|
(r.top_left.x - r.bottom_right.x) * (r.top_left.y - r.bottom_right.y)
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let name = String::from("Peter");
|
let name = String::from("Peter");
|
||||||
let age = 27;
|
let age = 27;
|
||||||
@ -30,7 +35,7 @@ fn main() {
|
|||||||
|
|
||||||
println!("point coordinates: ({}, {})", point.x, point.y);
|
println!("point coordinates: ({}, {})", point.x, point.y);
|
||||||
|
|
||||||
let bottom_right = Point { x: 5.2, ..point };
|
let bottom_right = Point { x: 5.2, y: 0.2 };
|
||||||
|
|
||||||
println!("second point: ({}, {})", bottom_right.x, bottom_right.y);
|
println!("second point: ({}, {})", bottom_right.x, bottom_right.y);
|
||||||
|
|
||||||
@ -39,7 +44,7 @@ fn main() {
|
|||||||
y: top_edge,
|
y: top_edge,
|
||||||
} = point;
|
} = point;
|
||||||
|
|
||||||
let _rectangle = Rectangle {
|
let rect = Rectangle {
|
||||||
top_left: Point {
|
top_left: Point {
|
||||||
x: left_edge,
|
x: left_edge,
|
||||||
y: top_edge,
|
y: top_edge,
|
||||||
@ -56,4 +61,7 @@ fn main() {
|
|||||||
let Pair(integer, decimal) = pair;
|
let Pair(integer, decimal) = pair;
|
||||||
|
|
||||||
println!("pair contains {:?} and {:?}", integer, decimal);
|
println!("pair contains {:?} and {:?}", integer, decimal);
|
||||||
|
|
||||||
|
println!("rect in {:?}", rect);
|
||||||
|
println!("area of rect is {}", rect_area(rect));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user