Skip to main content

gformat

Macro gformat 

Source
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