Макрос stringify!
Макрос stringify! принимает произвольное выражение,
токены или набор токенов и превращает их в строковый литерал
&'static str. Преобразование происходит на этапе
компиляции, поэтому в рантайме не выполняется никаких
вычислений. Параметром макрос принимает выражение или
последовательность токенов, которые нужно преобразовать в строку.
Синтаксис
stringify!(expr)
Пример
Давайте преобразуем простое арифметическое выражение в строку и выведем результат:
fn main()
{
let res = stringify!(1 + 2);
println!("{}", res);
}
Результат выполнения кода:
"1 + 2"
Пример
Давайте преобразуем идентификатор переменной в строку:
fn main()
{
let res = stringify!(abcde);
println!("{}", res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте преобразуем вызов функции с аргументами в строку:
fn main()
{
let res = stringify!(println!("12345"));
println!("{}", res);
}
Результат выполнения кода:
"println!(\"12345\")"
Смотрите также
-
макрос
concat!,
который объединяет строковые литералы в один -
макрос
format!,
который создаёт строку с форматированием -
макрос
format_args!,
который создаёт список аргументов для форматирования -
макрос
println!,
который выводит отформатированную строку в stdout