use
The use declaration can be used to avoid typing the full module path to access a name:
// Un atributo para esconder las advertencias del código no utilizado.
#![allow(dead_code)]
enum Stage {
Beginner,
Advanced,
}
enum Role {
Student,
Teacher,
}
fn main() {
// Explícitamente `use` (usa) cada nombre para que estén disponibles sin
// alcance manual.
use Stage::{Beginner, Advanced};
// Hace `use` automaticamente para cada nombre dentro de `Role`.
use Role::*;
// Equivalente a `Stage::Beginner`.
let stage = Beginner;
// Equivalente a `Role::Student`.
let role = Student;
match stage {
// Notamos que la falta de alcances se debe al uso explícito de `use` arriba.
Beginner => println!("¡Los principiantes están comenzando su aprendizaje!"),
Advanced => println!("Los estudiantes avanzados están dominando sus materias..."),
}
match role {
// Notamos otra vez la falta de alcances.
Student => println!("¡Los estudiantes están adquiriendo conocimiento!"),
Teacher => println!("Teachers are spreading knowledge!"),
}
}