rune::alloc::prelude

Macro try_format

Source
macro_rules! try_format {
    ($($tt:tt)*) => { ... };
}
Expand description

Creates a String using interpolation of runtime expressions.

The first argument try_format! receives is a format string. This must be a string literal. The power of the formatting string is in the {}s contained.

Additional parameters passed to try_format! 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 try_format! is concatenation and interpolation of strings. 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 try_to_string method. This will use the Display formatting trait.

§Panics

try_format! panics if a formatting trait implementation returns an error. This indicates an incorrect implementation since fmt::Write for String never returns an error itself.

§Examples

use rune::alloc::try_format;

try_format!("test");
try_format!("hello {}", "world!");
try_format!("x = {}, y = {y}", 10, y = 30);
let (x, y) = (1, 2);
try_format!("{x} + {y} = 3");