Rust でのコマンドライン引数のアクセス

Beginner

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

はじめに

この実験では、Rust でコマンドライン引数にアクセスするには std::env::args 関数を使用します。この関数は、各引数に対して String を生成する反復子を返します。返されるベクトルの最初の引数は、プログラムを呼び出すために使用されるパスであり、残りの引数はコマンドラインパラメータです。または、より高度なコマンドライン引数の処理には clap のようなクレートを使用できます。

注: 実験でファイル名が指定されていない場合、好きなファイル名を使用できます。たとえば、main.rs を使用して、rustc main.rs &&./main でコンパイルして実行できます。

プログラム引数

標準ライブラリ

コマンドライン引数にアクセスするには std::env::args を使用できます。これは、各引数に対して String を生成する反復子を返します。

use std::env;

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

    // 最初の引数は、プログラムを呼び出すために使用されたパスです。
    println!("My path is {}.", args[0]);

    // 残りの引数は、渡されたコマンドラインパラメータです。
    // このようにプログラムを呼び出します:
    //   $./args arg1 arg2
    println!("I got {:?} arguments: {:?}.", args.len() - 1, &args[1..]);
}
$./args 1 2 3
My path is./args.
I got 3 arguments: ["1", "2", "3"].

クレート

または、コマンドラインアプリケーションを作成する際に追加の機能を提供できる多数のクレートがあります。[Rust Cookbook] では、より人気のあるコマンドライン引数クレートの 1 つである clap を使用する際のベストプラクティスが示されています。

まとめ

おめでとうございます!あなたは「プログラム引数」の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を行って練習することができます。