diff options
Diffstat (limited to 'rust/theBook/chapter-7-managing-growing-projects/restaurent/src')
-rw-r--r-- | rust/theBook/chapter-7-managing-growing-projects/restaurent/src/lib.rs | 49 |
1 files changed, 49 insertions, 0 deletions
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); +} |