もちろんです。以下にRustで書かれたシンプルなコマンドラインプログラムの例を紹介します。このプログラムは、ユーザーから入力を受け取り、その入力に基づいて処理を行うものです。
Rustでコマンドラインプログラムを作成する
1. 新しいRustプロジェクトを作成する
まず、Rustプロジェクトを作成します。ターミナルを開いて、以下のコマンドを入力してください。

bashcargo new command_line_example
cd command_line_example
これにより、command_line_example
という名前の新しいRustプロジェクトが作成され、ディレクトリに移動します。
2. プログラムのコードを書く
次に、src/main.rs
というファイルを編集して、以下のようにコマンドライン引数を処理する簡単なプログラムを書きます。
rustuse std::env;
use std::process;
fn main() {
// コマンドライン引数を取得
let args: Vec<String> = env::args().collect();
// 引数が足りない場合はエラーメッセージを表示して終了
if args.len() < 2 {
eprintln!("引数が不足しています。使い方: cargo run <引数>");
process::exit(1);
}
// 引数を表示
println!("引数: {}", args[1]);
// 引数に基づいて処理を実行
match args[1].as_str() {
"hello" => println!("こんにちは!"),
"goodbye" => println!("さようなら!"),
_ => println!("未知のコマンド: {}", args[1]),
}
}
3. プログラムの説明
このプログラムは、コマンドライン引数を受け取って、それに応じた処理を実行します。
env::args()
関数を使用して、コマンドライン引数を取得します。これにより、引数はVec
の形式で保存されます。- 引数が2つ未満の場合、エラーメッセージを表示してプログラムを終了します。
- 引数が”hello”であれば「こんにちは!」、”goodbye”であれば「さようなら!」と表示します。それ以外の引数が渡された場合には「未知のコマンド」と表示します。
4. プログラムの実行
プログラムが完成したら、以下のコマンドで実行します。
bashcargo run hello
実行結果:
bash引数: hello こんにちは!
同様に、goodbye
を引数として渡して実行することもできます。
bashcargo run goodbye
実行結果:
bash引数: goodbye さようなら!
もし、未知の引数を渡すと、次のように表示されます。
bashcargo run test
実行結果:
bash引数: test
未知のコマンド: test
5. エラーハンドリングと終了処理
プログラム内では、引数が不足している場合にエラーメッセージを表示し、process::exit(1)
を使用して非正常終了を行っています。これは、エラーが発生した際にプログラムを適切に終了させるための方法です。
6. 拡張と応用
このプログラムは非常にシンプルなものですが、これを拡張してさまざまなコマンドを処理することができます。例えば、引数に応じてファイルを操作したり、ネットワーク通信を行ったりすることが可能です。
- 複数の引数を処理して、異なるオプションを渡す
- フラグを使って設定を変更する
- ユーザーからの入力を受け取って、処理を動的に変更する
このように、Rustを使用してコマンドラインプログラムを作成することは非常に強力であり、さまざまな用途に活用することができます。
結論
Rustでコマンドラインプログラムを作成することは、非常に簡単であり、コマンドライン引数を使って動的に挙動を変更することができます。今回紹介したプログラムは基本的なものであり、実際のアプリケーションではもっと多くの機能を組み込むことができます。