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
clapfor argument parsing: https://crates.io/crates/clap - Crates
structoptfor defining options with structs: https://crates.io/crates/structopt