Zugreifen auf Befehlszeilenargumente in Rust

RustRustBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab können Sie auf die Befehlszeilenargumente in Rust zugreifen, indem Sie die Funktion std::env::args verwenden, die einen Iterator zurückgibt, der für jedes Argument eine String zurückgibt. Das erste Argument im zurückgegebenen Vektor ist der Pfad, der verwendet wird, um das Programm aufzurufen, während die restlichen Argumente die Befehlszeilenparameter sind. Alternativ können Sie Crates wie clap verwenden, um eine fortgeschrittene Behandlung von Befehlszeilenargumenten durchzuführen.

Hinweis: Wenn das Lab keinen Dateinamen angibt, können Sie einen beliebigen Dateinamen verwenden. Beispielsweise können Sie main.rs verwenden, es mit rustc main.rs &&./main kompilieren und ausführen.

Programmargumente

Standardbibliothek

Die Befehlszeilenargumente können über std::env::args abgerufen werden, das einen Iterator zurückgibt, der für jedes Argument eine String zurückgibt:

use std::env;

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

    // Das erste Argument ist der Pfad, der verwendet wurde, um das Programm aufzurufen.
    println!("Mein Pfad ist {}.", args[0]);

    // Die restlichen Argumente sind die übergebenen Befehlszeilenparameter.
    // Rufen Sie das Programm wie folgt auf:
    //   $./args arg1 arg2
    println!("Ich habe {:?} Argumente: {:?}.", args.len() - 1, &args[1..]);
}
$./args 1 2 3
Mein Pfad ist./args.
Ich habe 3 Argumente: ["1", "2", "3"].

Crates

Alternativ gibt es zahlreiche Crates, die zusätzliche Funktionalität bei der Erstellung von Befehlszeilenanwendungen bieten können. Das [Rust Cookbook] zeigt bewährte Praktiken auf, wie man eine der beliebteren Befehlszeilenargument-Crates, clap, verwendet.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu Programmargumenten abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.