[−][src]Crate fstrings
::fstrings
Basic fstring interpolation in Rust
The interpolation works as follows:
-
if the (template) string literal contains a named parameters (e.g.
{name}
) -
and no
name = value
argument is fed to the formatting call, -
then an automatic
name = name
argument is added, so that the variable is effectively interpolated from the current scope.
Example
#[macro_use] extern crate fstrings; fn main () { let name = "World"; // Usage is simple: just append `_f` to the name of any formatting macro println_f!("Hello, {name}!"); assert_eq!( f!("Hello, {name}!"), // shorthand for String creation (Python-like) String::from("Hello, World!"), ); // advanced_cases { // it remains compatible with classic formatting parameters assert_eq!( f!("{hi}, {name}!", hi = "Hello"), "Hello, World!", ); // you can override / shadow the named arguments assert_eq!( f!("Hello, {name}!", name = "Earth"), "Hello, Earth!", ); } }
Macros
eprint_f | Like |
eprintln_f | Like |
f | Shorthand for |
format_args_f | Like |
format_f | Like |
print_f | Like |
println_f | Like |
write_f | Like |
writeln_f | Like |