
Makrolar
Bildirimsel makrolar (macro_rules!), derive makrolar, attribute makrolar, prosedürel makrolar, makro hijyeni
1Rust'ta bildirimsel bir makro tanımlamak için kullanılan sözdizimi nedir?
Rust'ta bildirimsel bir makro tanımlamak için kullanılan sözdizimi nedir?
Cevap
macro_rules! sözdizimi, Rust'ta bildirimsel makroları tanımlamak için kullanılır. Bu metaprogramlama biçimi, kodu derleme zamanında dönüştürmek için Rust sözdizimi üzerinde pattern matching kullanır. Bildirimsel makrolar, kalıpları eşleştirerek ve bu kalıplara dayalı kod üreterek çalıştıkları için "macros by example" olarak da adlandırılır.
2Rust'ta bir makro nasıl çağrılır?
Rust'ta bir makro nasıl çağrılır?
Cevap
Rust'ta makrolar, adlarının ardından bir ünlem işareti ve onu izleyen parantez, köşeli parantez veya süslü parantez içindeki argümanlarla çağrılır. Bu kural, makro çağrılarını normal fonksiyon çağrılarından görsel olarak ayırt etmeyi sağlar. Örneğin println!("Hello") veya vec![1, 2, 3] birer makro çağrısıdır.
3Bildirimsel bir makroda bir ifadeyi yakalamak için hangi fragment specifier kullanılır?
Bildirimsel bir makroda bir ifadeyi yakalamak için hangi fragment specifier kullanılır?
Cevap
$e:expr fragment specifier'ı, bildirimsel bir makroda bir Rust ifadesini yakalar. Fragment specifier'lar makronun kabul edebileceği sözdizimi türünü tanımlar. Diğer yaygın specifier'lar arasında tanımlayıcılar için ident, türler için ty, token tree için tt ve kod bloğu için block bulunur.
Bildirimsel ve prosedürel makrolar arasındaki temel fark nedir?
Rust'ta makro hijyeni nedir?
+17 mülakat soruları
Diğer Rust mülakat konuları
Rust Temelleri
Ownership & Borrowing
Structs & Enums
Hata Yönetimi
Koleksiyonlar
Modüller ve Paketler
Traits
Generics
Lifetimes
Iterators & Closures
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Serde ve Serileştirme
Unsafe Rust
Gelişmiş Trait'ler
İleri Düzey Lifetime
Type System
Tokio & Async I/O
Performans Optimizasyonu
Memory Management
Web Frameworks
Database Integration
Rust Tasarım Desenleri
Bir sonraki mülakatın için Rust'de uzmanlaş
Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.
Ücretsiz başla