κeenです。たまにRustのモジュールが分かりづらいとの声を聞くので解説しますね。 ※ 2018版 も書きました。恐らくこちらの方が求める情報と思います。 とりあえずサンプルプロジェクトを作ります。 $ cargo new module エラいのは lib.rs と main.rs モジュールの話をする前にクレートの話をしないといけません。 クレートはRustのプログラムの一番大きな単位です。 大きく分けてライブラリを作るlibクレートと実行可能ファイルを作るbinクレートがあります。 libクレートならばlib.rsが、binクレートならばmain.rsがルートにあたるファイルです。ここから辿れるモジュールが全てです。プロジェクトにファイルが存在していてもこれらから辿れなかったらコンパイルされません。 モジュールの作り方は3種類 ファイルの中にインラインで作る 1ファイルで作る 1ディ