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