Rust:
Odczytywanie argumentów linii poleceń

Jak to zrobić:

W Rust używamy cratea std::env` do obsługi argumentów:

use std::env;

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

    println!("Otrzymane argumenty:");
    for arg in args.iter() {
        println!("{}", arg);
    }
}

Uruchomienie tego kodu z argumentami:

$ cargo run arg1 arg2 arg3

Wypisze na ekranie:

Otrzymane argumenty:
ścieżka/do/programu
arg1
arg2
arg3

Deep Dive

Historia czytania argumentów linii poleceń sięga wczesnych dni informatyki, gdy interfejsy tekstowe były standardem. W Rust, oprócz std::env, mamy potężne crate’y takie jak clap czy structopt, które pozwalają definiować argumenty w sposób deklaratywny i pozwala na łatwą walidację oraz dokumentację.

Implementacja w std::env jest dosyć nisko poziomowa i bezpośrednia – dostajemy dokładnie to, co zostało wpisane przy uruchomieniu. Funkcja env::args() zwraca iterator, który pozwala iterować po argumentach.

Zobacz również