
Макроси
Декларативні макроси (macro_rules!), derive макроси, attribute макроси, процедурні макроси, гігієна макросів
1Який синтаксис використовується для визначення декларативного макроса в Rust?
Який синтаксис використовується для визначення декларативного макроса в Rust?
Відповідь
Синтаксис macro_rules! використовується для визначення декларативних макросів у Rust. Ця форма метапрограмування використовує pattern matching на синтаксисі Rust для перетворення коду під час компіляції. Декларативні макроси також називають "macros by example", оскільки вони працюють шляхом зіставлення шаблонів і генерування коду на основі цих шаблонів.
2Як викликати макрос у Rust?
Як викликати макрос у Rust?
Відповідь
Макроси в Rust викликаються зі знаком оклику після їхнього імені, за яким йдуть аргументи в круглих, квадратних або фігурних дужках. Ця конвенція дозволяє візуально відрізняти виклики макросів від звичайних викликів функцій. Наприклад, println!("Hello") або vec![1, 2, 3] є викликами макросів.
3Який fragment specifier використовувати для захоплення виразу в декларативному макросі?
Який fragment specifier використовувати для захоплення виразу в декларативному макросі?
Відповідь
Fragment specifier $e:expr захоплює вираз Rust у декларативному макросі. Fragment specifier визначають тип синтаксису, який макрос може приймати. Інші поширені specifier включають ident для ідентифікаторів, ty для типів, tt для token tree та block для блоку коду.
Яка основна різниця між декларативними та процедурними макросами?
Що таке гігієна макросів у Rust?
+17 питань зі співбесід
Інші теми співбесід Rust
Основи Rust
Ownership & Borrowing
Structs & Enums
Обробка помилок
Колекції
Модулі та пакети
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Serde та серіалізація
Unsafe Rust
Просунуті trait'и
Просунуті Lifetimes
Type System
Tokio & Async I/O
Оптимізація продуктивності
Memory Management
Web Frameworks
Database Integration
Патерни проєктування Rust
Опануй Rust для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно