blue_sky 0.1.1

A fun game where you guess what number the computer has chosen.
Documentation
//在餐饮业,餐馆中会有一些地方被称之为 前台(front of house),还有另外一些地方被称之为 后台(back of house)。
// 前台是招待顾客的地方,在这里,店主可以为顾客安排座位,服务员接受顾客下单和付款,调酒师会制作饮品
/**
crate
 └── front_of_house
     ├── hosting
     │   ├── add_to_waitlist
     │   └── seat_at_table
     └── serving
         ├── take_order
         ├── serve_order
         └── take_payment
*/
//前台
pub mod hosting {
    pub fn add_to_waitlist() {}
    fn seat_at_table() {}
}
mod serving {
    fn take_order() {}
    fn serve_order() {}
    fn take_payment() {}
    //后台
    mod back_of_house {
        //如果我们在一个结构体定义的前面使用了 pub ,这个结构体会变成公有的,但是这个结构体的字段仍然是私有的
        pub struct Breakfast {
            pub toast: String,
            //私有属性
            seasonal_fruit: String,
        }

        //如果我们将枚举设为公有,则它的所有成员都将变为公有
        pub enum Appetizer {
            Soup,
            Salad,
        }
        impl Breakfast {
            pub fn summer(toast: &str) -> Breakfast {
                Breakfast {
                    toast: String::from(toast),
                    seasonal_fruit: String::from("peaches"),
                }
            }
        }
        fn fix_incorrect_order() {
            cook_order();
            //super 类似文件系统中的 ../ (指向上一级)
            super::serve_order();
        }
        fn cook_order() {}
    }

    pub fn eat_at_restaurant() {
        let mut meal = back_of_house::Breakfast::summer("Rye");
        meal.toast = String::from("Wheat");
        println!("I'd like {} toast please", meal.toast);

        let order1 = back_of_house::Appetizer::Salad;
        let order2 = back_of_house::Appetizer::Soup;
    }
}