Menu
Coddy logo textTech

ペットの定義

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

challenge icon

チャレンジ

簡単

バーチャルペットプロジェクトへようこそ!これからの数回のレッスンを通して、構造体、メソッド、モジュール、そしてカプセル化について学んだすべてを統合し、完全なペットシミュレーションを構築していきます。

それでは、バーチャルペットの構築を始めましょう!最初のステップでは、独自のモジュール内に適切なカプセル化を備えた Pet 構造体を作成し、基礎を固めます。

コードを2つのファイルに整理します:

  • pet.rs: 3つのプライベートフィールド name (String)、energy (u32)、hunger (u32) を持つ Pet 構造体を定義します。名前を受け取り、energy100 に、hunger0 に設定してペットを作成するパブリックな new 関連関数を実装してください。また、ペットの名前への参照を返すパブリックな name ゲッターメソッドも追加してください。
  • main.rs: pet モジュールを宣言し、Pet をスコープに取り込みます。入力から名前を読み取り、その名前で新しいペットを作成し、ウェルカムメッセージを表示してください。

ウェルカムメッセージは次の形式に従う必要があります:

Welcome, {name}!

例えば、入力が Buddy の場合、出力は次のようになります:

Welcome, Buddy!

構造体は main.rs から使用できるようにパブリックにする必要がありますが、フィールドはプライベートのままにし、提供するメソッドを通じてのみアクセスできるようにすることを忘れないでください。

自分で試してみよう

mod pet;

use pet::Pet;

fn main() {
    let mut name = String::new();
    std::io::stdin().read_line(&mut name).expect("Failed to read line");
    let name = name.trim().to_string();

    // TODO: 指定された名前で新しいPetを作成する

    // TODO: ペットの名前のゲッターを使用してウェルカムメッセージを表示する
    // 形式: "Welcome, {name}!"
}

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