macro_rules! formatx {
    ($template: expr) => { ... };
    ($template: expr, $($values: tt)*) => { ... };
}
Expand description

Creates a String using interpolation of runtime expressions at runtime.

The first argument formatx! receives is a format string. The power of the formatting string is in the {}s contained.

Additional parameters passed to formatx! replace the {}s within the formatting string in the order given unless named or positional parameters are used; see std::fmt for more information.

A common use for formatx! is concatenation and interpolation of strings at runtime. The same convention is used with print! and write! macros, depending on the intended destination of the string.

To convert a single value to a string, use the to_string method. This will use the Display formatting trait.

Panics

formatx! panics if a formatting trait implementation returns an error. This indicates an incorrect implementation since fmt::Write for String never returns an error itself. Additonally formatx! returns a Result type which can be resolved later.

Examples

Any type could be formatted if it implements Display + Debug traits.

use formatx::formatx;

formatx!("test").unwrap().text().unwrap();
formatx!("hello {}", "world!").unwrap();
formatx!("x = {}, y = {y}", 10, y = 30).unwrap();