Rust:
Читання аргументів командного рядка
Як це робити:
use std::env;
fn main() {
let args: Vec<String> = env::args().collect();
if args.len() > 1 {
println!("Your first argument is: {}", args[1]);
} else {
println!("No arguments provided!");
}
}
Якщо запустити program "Hello, world!"
, результат буде:
Your first argument is: Hello, world!
Якщо запустити просто program
, результат буде:
No arguments provided!
Поглиблений аналіз
Розуміння аргументів командного рядка йшло ще з часів UNIX. В Rust, метод std::env::args
повертає ітератор аргументів. Існують альтернативи стандартній бібліотеці, наприклад, clap
і structopt
, що надають більше можливостей для аналізу аргументів і налаштування параметрів командного рядка. Система типів Rust і патерн match
можуть бути використані для більш безпечної обробки аргументів.
Див. також:
- The Rust Programming Language Book, Command Line Arguments: https://doc.rust-lang.org/book/ch12-01-accepting-command-line-arguments.html
- Crates
clap
for argument parsing: https://crates.io/crates/clap - Crates
structopt
for defining options with structs: https://crates.io/crates/structopt