
Makra
Makra deklaratywne (macro_rules!), makra derive, makra atrybutów, makra proceduralne, higiena makr
1Jaka składnia jest używana do zdefiniowania makra deklaratywnego w Rust?
Jaka składnia jest używana do zdefiniowania makra deklaratywnego w Rust?
Odpowiedź
Składnia macro_rules! służy do definiowania makr deklaratywnych w Rust. Ta forma metaprogramowania wykorzystuje pattern matching na składni Rust, aby przekształcać kod podczas kompilacji. Makra deklaratywne nazywane są również "macros by example", ponieważ działają poprzez dopasowywanie wzorców i generowanie kodu na podstawie tych wzorców.
2Jak wywołać makro w Rust?
Jak wywołać makro w Rust?
Odpowiedź
Makra w Rust są wywoływane ze znakiem wykrzyknika po ich nazwie, a następnie z argumentami w nawiasach okrągłych, kwadratowych lub klamrowych. Ta konwencja pozwala wizualnie odróżnić wywołania makr od wywołań zwykłych funkcji. Na przykład println!("Hello") lub vec![1, 2, 3] to wywołania makr.
3Którego fragment specifier użyć do przechwycenia wyrażenia w makrze deklaratywnym?
Którego fragment specifier użyć do przechwycenia wyrażenia w makrze deklaratywnym?
Odpowiedź
Fragment specifier $e:expr przechwytuje wyrażenie Rust w makrze deklaratywnym. Fragment specifiery definiują typ składni, którą makro może zaakceptować. Inne popularne specifiery to ident dla identyfikatorów, ty dla typów, tt dla token tree i block dla bloku kodu.
Jaka jest główna różnica między makrami deklaratywnymi a proceduralnymi?
Czym jest higiena makr w Rust?
+17 pytań z rozmów
Inne tematy rekrutacyjne Rust
Podstawy Rusta
Ownership & Borrowing
Structs & Enums
Obsługa błędów
Kolekcje
Moduły i pakiety
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Serde i serializacja
Unsafe Rust
Zaawansowane traity
Zaawansowane Lifetime
Type System
Tokio & Async I/O
Optymalizacja Wydajności
Memory Management
Web Frameworks
Database Integration
Wzorce projektowe w Rust
Opanuj Rust na następną rozmowę
Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.
Zacznij za darmo