pub fn maybe_hex<T: Num + Unsigned>(s: &str) -> Result<T, String>
Expand description
Validates an unsigned integer value that can be base-10 or base-16.
The number is assumed to be base-10 by default, it is parsed as hex if the
number is prefixed with 0x
, case insensitive.
Example
This allows base-10 addresses to be passed normally, or base-16 values to
be passed when prefixed with 0x
.
use clap::Parser;
use clap_num::maybe_hex;
#[derive(Parser)]
struct Args {
#[clap(short, long, value_parser=maybe_hex::<u32>)]
address: u32,
}