hometools

Parse Generic Arguments with clap in Rust

Rust

Cargo.toml
[package]
name = "parse-generic-arguments"
version = "0.1.0"
edition = "2024"

[dependencies]
clap = { version = "4.6.0", features = ["derive"] }
src/main.rs
use clap::Parser;

#[derive(Parser)]
struct Input {
  arg1: String,
  arg2: String,
  arg3: String,
}

fn main() {
  let input = Input::parse();
  println!("Arg 1: {}", input.arg1);
  println!("Arg 2: {}", input.arg2);
  println!("Arg 3: {}", input.arg3);
}

Command

./parse-generic-arguments alfa bravo charlie

Output

Arg 1: alfa
Arg 2: bravo
Arg 3: charlie