macro_rules! gformat {
($fmt:expr $(, $args:expr)* ) => { ... };
($fmt:expr $(, $args:expr)* ; $validator:ty) => { ... };
($fmt:expr $(, $args:expr)* ; $validator:ty, $min:expr) => { ... };
($fmt:expr $(, $args:expr)* ; $validator:ty, $min:expr, $max:expr) => { ... };
(
$fmt:expr $(, $args:expr)* ;
$validator:ty,
$min:expr,
$max:expr,
$ascii_only:expr
) => { ... };
}Expand description
gformat formats string like stdlib’s format! does, with generic/config params pluggable.
§Examples
use g_string::gformat;
let ret = gformat!("--> {} - {} equals to {}", 5, 2, "three"; (), 2, 100, true).unwrap();
assert_eq!(ret, "--> 5 - 2 equals to three");
let ret = gformat!("--> fire: {}", "🔥"; (), 2, 102, true);
assert!(ret.is_err()); // ASCII_ONLY is true