Rust:
명령줄 인수 읽기

How to: (어떻게 하나요?)

use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();

    if args.len() > 1 {
        println!("인자 수: {}", args.len() - 1);
        for (index, argument) in args.iter().enumerate().skip(1) {
            println!("인자 {}: {}", index, argument);
        }
    } else {
        println!("인자가 제공되지 않았습니다.");
    }
}

실행 결과 예시:

$ cargo run arg1 arg2 arg3
인자 수: 3
인자 1: arg1
인자 2: arg2
인자 3: arg3

Deep Dive (심도 있게 파헤치기)

커맨드 라인 인자는 UNIX 시스템이 등장하면서부터 사용되었습니다. Rust에서는 std::env 모듈을 사용하여 이를 처리합니다. env::args()를 호출하면 프로그램 이름을 포함한 모든 인자를 가져올 수 있습니다. 러스트는 벡터로 인자들을 반환하기 때문에 컬렉션과 반복자에 대한 지식이 필요합니다.

또한 clap, structopt, argh와 같은 서드파티 크레이트가 있어 더 복잡한 인자 파싱을 위한 강력한 기능을 제공합니다. 이를 사용하면 직관적인 API를 통해 인자 검증, 에러 메시지 관리 등을 수행할 수 있습니다.

See Also (함께 보기)