Crates and Modules

https://doc.rust-lang.org/book/crates-and-modules.html

Rustはデフォルトがプライベートで、pubをつけるとグローバルになる。

extern crate phrases as sayings;

use sayings::japanese::greetings as ja_greetings;
use sayings::japanese::farewells::*;
use sayings::english::{self, greetings as en_greetings, farewells as en_farewells};

fn main() {
    println!("Hello in English; {}", en_greetings::hello());
    println!("And in Japanese: {}", ja_greetings::hello());
    println!("Goodbye in English: {}", english::farewells::goodbye());
    println!("Again: {}", en_farewells::goodbye());
    println!("And in Japanese: {}", goodbye());
}

でエラーが出たのだけど、原因は、mod farewellspubをつけていないせいだった。

pub use self::greetings::hello;
pub use self::farewells::goodbye;

pub mod farewells;
pub mod greetings;