Ad esempio, puoi passare la directory che desideri elencare al comando LS. Quindi, il percorso della directory è noto come argomento per il comando LS.
Questo articolo esaminerà i fondamenti di accettare e analizzare gli argomenti della riga di comando nel linguaggio di programmazione Rust usando il modulo Env dalla libreria standard.
Setup e importazioni
Il primo passo è creare una directory per archiviare il nostro codice sorgente. Per semplicità, generare un pacchetto di ruggine usando il carico come:
$ cargo New Rust_arguments
Rinomina il tuo progetto con qualsiasi nome che ritieni adatto.
Quindi, naviga nella directory di origine e apri il principale.File RS con il tuo editor di testo preferito.
$ CD RUST_ARGUMENTIS/SRC && Vim Main.RsIl secondo passo è importare i moduli richiesti. Useremo il modulo Env dalla libreria standard per analizzare gli argomenti della linea di comando per questo articolo.
Il modulo Env fornisce una funzione per lavorare con variabili di ambiente, argomenti, ecc. Per usarlo, importalo usando come:
Usa std :: env;Vettore di argomento
All'interno della funzione principale, dobbiamo creare un vettore di stringhe che terranno gli argomenti che passeremo al programma.
Possiamo farlo aggiungendo la seguente riga:
Let Args: VECIl codice sopra utilizza il metodo di raccolta per iterare l'argomento passato agli argomenti e aggiungerli al vettore. Il vettore è di tipo stringhe annotate dal VEC nel nostro caso. Questo perché la ruggine non può dedurre il tipo di raccolta vettoriale.
Stampa argomenti
Ora che possiamo accettare argomenti di comando e archiviarli in un vettore, provaci a stamparli. Possiamo farlo con la funzione ITER, come mostrato di seguito:
Usa std :: env;La funzione ITER iterirà su ogni argomento passato al programma e lo stamperà. Se eseguiamo il codice sopra, dovremmo vedere un output come:
Il programma restituisce il nome dell'eseguibile. Rust tratterà il nome dell'eseguibile come il primo argomento. Quindi, l'argomento all'indice 0 nel vettore dell'argomento è il percorso verso il nome del programma.
Questa è una caratteristica comune in altri linguaggi di programmazione, tra cui C, Python, Go, ecc.
Se forniamo altri argomenti dopo il nome del programma, Rust li aggiungerà all'indice 1, 2, 3 ... al vettore dell'argomento.
Per esempio:
Cargo run argomental1 argomento2 argomento3 ... argomentoSi noti che l'esempio sopra passa 5 argomenti al programma. Il risultato è come mostrato:
Target \ debug \ rust_cmd_args.exeCome puoi vedere, il programma stampa tutti gli argomenti superati.
Accesso e salvataggio di argomenti
Fino ad ora, abbiamo stampato solo gli argomenti dal programma. Anche se illustra come funzionano i vettori dell'argomento, non fa molto.
Possiamo accedere e salvare ogni argomento in una variabile per espandere il nostro programma.
Per accedere a un argomento, possiamo usare l'indice come:
Usa std :: env;Nell'esempio sopra, accediamo al primo argomento usando l'indice 1. Il risultato è come mostrato:
Cargo Run Ciao!Possiamo salvare l'argomento in una variabile come:
Usa std :: env;Nel programma sopra, accettiamo di salvare il primo argomento e salvarlo in una variabile. Quindi usiamo il suo valore in un blocco if ... else per eseguire un'azione.
Possiamo eseguire il codice sopra come:
$ cargo run ciaoIl programma dovrebbe restituire “Ciao!" COME:
Se passiamo un altro argomento che non è uguale a "ciao", abbiamo eseguito il blocco else come:
$ cargo che corre ciaoConclusione
Fantastico! Abbiamo un programma che può accettare, analizzare, salvare e argomenti con quello. Continua a praticare per saperne di più.