From 7fdb9249afe07c75ad8bea568195a3a8d979d73a Mon Sep 17 00:00:00 2001 From: garhve Date: Fri, 30 Dec 2022 13:47:02 +0800 Subject: finish chapter 8 --- .../restaurent/src/lib.rs | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 rust/theBook/chapter-7-managing-growing-projects/restaurent/src/lib.rs (limited to 'rust/theBook/chapter-7-managing-growing-projects/restaurent/src') diff --git a/rust/theBook/chapter-7-managing-growing-projects/restaurent/src/lib.rs b/rust/theBook/chapter-7-managing-growing-projects/restaurent/src/lib.rs new file mode 100644 index 0000000..6eb8cb5 --- /dev/null +++ b/rust/theBook/chapter-7-managing-growing-projects/restaurent/src/lib.rs @@ -0,0 +1,49 @@ +mod front_of_house { + pub mod hosting { + pub fn add_to_waitlist() {} + fn seat_at_table() {} + } + + mod serving { + fn take_order() {} + fn serve_order() {} + fn take_payment() {} + } +} + +fn deliver_order() {} + +mod back_of_house { + fn fix_incorrect_order() { + cook_order(); + super::deliver_order(); + } + + fn cook_order() {} + + pub struct Breakfast { + seasonal_fruits: String, + pub toast: String, + } + + impl Breakfast { + pub fn summer(toast: &str) -> Self { + Self { + toast: String::from(toast), + seasonal_fruits: String::from("Peach"), + } + } + } +} + +pub mod eat_at_restaurent { + // absolute +// crate::front_of_house::hosting::add_to_waitlist(); + + // relative +// front_of_house::hosting::add_to_waitlist(); + let mut meal = back_of_house::Breakfast::summer("Rye"); + + meal.toast = String::from("Wheat"); + println!("I'd like {} toast please.", meal.toast); +} -- cgit v1.2.3-70-g09d2