Введение в макросы в Rust
Макрос в Rust - это запись, которая расширяется в обычный код до того, как программу соберут. На месте вызова компилятор вставляет заранее описанный кусок текста программы. Это не отдельная функция с вызовом во время работы: тело появляется прямо в том месте, где стоит вызов.
В разделе про пометки мы уже просили компилятор дописать выполнение трейтов по имени типа. Здесь другой путь: правило описывают сами, задают образец вызова и код, который подставят на его место. Имя макроса пишут с восклицательным знаком в конце, как у встроенных записей печати.
Так сокращают повторяющиеся куски без
лишней функции и без лишних параметров
там, где нужен именно текст программы.
Один раз описали правило, а дальше в
main или в другой функции остается
короткая запись, которая разворачивается
в нужное выражение или блок.
Сначала разберем одно правило с одним выражением, затем прием, который принимает список выражений через запятую и разворачивает код для каждого. В конце закрепим оба приема на коротких задачах.