use
The use declaration can be used to avoid typing the full module path to access a name:
// 使用されていないコードよる警告を隠すアトリビュート
#![allow(dead_code)]
enum Stage {
Beginner,
Advanced,
}
enum Role {
Student,
Teacher,
}
fn main() {
// `use`することで絶対名でなくとも使用可能になります。
use Stage::{Beginner, Advanced};
// `Role`の中の名前をすべて`use`します。
use Role::*;
// `use`しているため、`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!"),
}
}