소개
이 랩에서는 Rust 에서 수동 스코핑 (scoping) 의 필요성을 없애고 네임스페이스 (namespace) 를 명시적으로 지정하지 않고도 이름을 사용할 수 있도록 하기 위해 use 선언을 사용합니다.
참고: 랩에서 파일 이름을 지정하지 않은 경우, 원하는 파일 이름을 사용할 수 있습니다. 예를 들어,
main.rs를 사용하고rustc main.rs && ./main으로 컴파일하고 실행할 수 있습니다.
이 랩에서는 Rust 에서 수동 스코핑 (scoping) 의 필요성을 없애고 네임스페이스 (namespace) 를 명시적으로 지정하지 않고도 이름을 사용할 수 있도록 하기 위해 use 선언을 사용합니다.
참고: 랩에서 파일 이름을 지정하지 않은 경우, 원하는 파일 이름을 사용할 수 있습니다. 예를 들어,
main.rs를 사용하고rustc main.rs && ./main으로 컴파일하고 실행할 수 있습니다.
use 선언은 수동 스코핑 (scoping) 이 필요하지 않도록 사용될 수 있습니다:
// An attribute to hide warnings for unused code.
#![allow(dead_code)]
enum Status {
Rich,
Poor,
}
enum Work {
Civilian,
Soldier,
}
fn main() {
// Explicitly `use` each name so they are available without
// manual scoping.
use crate::Status::{Poor, Rich};
// Automatically `use` each name inside `Work`.
use crate::Work::*;
// Equivalent to `Status::Poor`.
let status = Poor;
// Equivalent to `Work::Civilian`.
let work = Civilian;
match status {
// Note the lack of scoping because of the explicit `use` above.
Rich => println!("The rich have lots of money!"),
Poor => println!("The poor have no money..."),
}
match work {
// Note again the lack of scoping.
Civilian => println!("Civilians work!"),
Soldier => println!("Soldiers fight!"),
}
}
축하합니다! Use 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.