はじめに
この実験では、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 でさらに多くの実験を行って練習することができます。