モジュールシステム
モジュール
Rustは1ファイル1モジュールである。 使用するモジュールはルートファイルで宣言する必要がある。
ファイルモジュール
ファイル構成
src -+ - main.rs | + module_a.rs | + module_b.rs
src/main.rs
mod module_a; mod module_b;
ディレクトリモジュール
2018年度版とそれ以前とが存在する。
2018
ファイル構成
src -+ - main.rs | + new_module.rs | + new_module -+- sub_module_a.rs | +- sub_module_b.rs
new_module.rs
mod sub_module_a.rs; mod sub_module_b.rs;
main.rs
mod new_module;
2015
src -+ - main.rs | + new_module -+- mod.rs | +- sub_module_a.rs | +- sub_module_b.rs
mod.rs
mod sub_module_a.rs; mod sub_module_b.rs;
main.rs
mod new_module;
モジュールへのアクセス (use visibility)
モジュールへのアクセスは2つの方法がある。
例: module_b
から module_a
へのアクセス
module_b.rs
// 絶対パス use create::module_a::name1; // 相対パス use super::module_a::name2;
Appendix
クレート
2種類のクレートが存在し、ルートファイル(エントリーファイル)が異なる。
libクレート
:src/lib.rs
ファイルを持つクレートbinクレート
:src/main.rs
ファイルを持つクレート