Commandoregelargumenten lezen

Rust:
Commandoregelargumenten lezen

Hoe te:

Hier is de eenvoudigste manier om argumenten te grijpen:

use std::env;

fn main() {
    let args: Vec<String> = env::args().collect();
    println!("{:?}", args);
}

Voer het uit met cargo run arg1 arg2. Je zult zien:

["pad/naar/uitvoerbaar", "arg1", "arg2"]

Een nettere optie met iterators:

use std::env;

fn main() {
    for arg in env::args().skip(1) {
        println!("{}", arg);
    }
}

Probeer nu cargo run cool stuff:

cool
stuff

Diepgaande duik

Historisch gezien zijn commandoregelargumenten een terugblik naar de dagen dat GUI’s niet wijdverspreid waren. Nu zijn ze geweldig voor scripts, servers of hulpprogramma’s.

Rust’s std::env::args gebruikt een iterator, wat geheugenefficiënt en lui is. Het kan ook Unicode aan. Er is ook args_os voor ruwe OS-strings.

Voor complexe parsing zijn crates zoals clap of structopt handig. Ze parsen vlaggen, opties en subcommando’s.

Zie ook