Rust:
Lese kommandolinjeargumenter
How to:
use std::env;
fn main() {
let args: Vec<String> = env::args().collect();
if args.len() > 1 {
println!("Hei, {}!", args[1]);
} else {
println!("Hei, ukjent!");
}
}
Kjør programmet med cargo run Ola
, får du ut:
Hei, Ola!
Deep Dive
Lese kommandolinjeargumenter har vært en del av programmeringsrutinen siden de tidligste dagene av Unix. I Rust håndterer standardbiblioteket std::env
dette. Det tilbyr blant annet args
, som returnerer en iterator for argumentene.
Et alternativ er clap
-biblioteket, som gir en mer funksjonsrik grensesnitt for å parse kommandolinjeinput. std::env::args
er greit for enkle behov, men clap
hjelper med komplekse applikasjoner.
Når du kaller args()
, det første argumentet er alltid stien til programmet selv. Etterfølgende argumenter er de som ble oppgitt av brukeren.