Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

use

use 宣言を使うと、名前にアクセスするためにモジュールパス全体を入力しなくて済みます:

// 未使用コードに関する警告を非表示にする属性。
#![allow(dead_code)]

enum Stage {
    Beginner,
    Advanced,
}

enum Role {
    Student,
    Teacher,
}

fn main() {
    // 各名前を明示的に `use` して、手動でスコープ指定しなくても
    // 利用できるようにする。
    use Stage::{Beginner, Advanced};
    // `Role` 内の各名前を自動的に `use` する。
    use Role::*;

    // `Stage::Beginner` と同等。
    let stage = Beginner;
    // `Role::Student` と同等。
    let role = Student;

    match stage {
        // 上記の明示的な `use` により、スコープ指定がないことに注目。
        Beginner => println!("Beginners are starting their learning journey!"),
        Advanced => println!("Advanced learners are mastering their subjects..."),
    }

    match role {
        // ここでもスコープ指定がないことに注目。
        Student => println!("Students are acquiring knowledge!"),
        Teacher => println!("Teachers are spreading knowledge!"),
    }
}

関連項目:

matchuse