Menu
Coddy logo textTech

モジュールの基礎

CoddyのRustジャーニー「Object Oriented Programming」セクションの一部 — レッスン 8/61。

Rustのプログラムが大きくなるにつれて、すべてを1つのファイルにまとめておくのは扱いにくくなります。Rustのモジュールシステムを使用すると、構造体とその実装を別のファイルに移動してコードを整理できます。

別のファイルにモジュールを作成するには、希望するモジュール名で新しいファイルを作成するだけです。例えば、playerモジュールを作成するには、player.rsという名前のファイルを作成します。

// player.rs
struct Player {
    name: String,
    score: u32,
}

impl Player {
    fn new(name: String) -> Player {
        Player { name, score: 0 }
    }
}

このモジュールをメインファイルで使用するには、mod キーワードを使用して宣言します。これにより、Rust はその名前のファイルを探すようになります:

// main.rs
mod player;

fn main() {
    // これでplayerモジュールのアイテムにアクセスできるようになります
}

mod player; 宣言は、Rustに player.rs の内容を探して含めるように指示します。そのファイルのコードをプログラムにリンクするものと考えてください。モジュール名は、ファイル名と完全に一致している必要があります(.rs 拡張子を除く)。

この分離により、関連するコードがまとめられます。構造体の定義とそのすべてのメソッドが1つの専用ファイルに配置される一方で、main.rsはプログラムのエントリポイントに集中したままになります。次のレッスンでは、モジュール内に配置したアイテムに実際にアクセスする方法を学びます。

チートシート

コードを別々のファイルに整理するには、任意の名前でモジュールファイルを作成します。例えば、player.rs です。

// player.rs
struct Player {
    name: String,
    score: u32,
}

impl Player {
    fn new(name: String) -> Player {
        Player { name, score: 0 }
    }
}

メインファイルでモジュールを使用するには、mod キーワードを使用して宣言します。

// main.rs
mod player;

fn main() {
    // モジュールの内容が利用可能になります
}

mod player; 宣言は、Rustに player.rs を探して含めるように指示します。モジュール名はファイル名と完全に一致している必要があります(.rs 拡張子を除く)。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Object Oriented Programmingのすべてのレッスン