Rust

Macro's

Declaratieve macro's (macro_rules!), derive macro's, attribute macro's, procedurele macro's, macro-hygiëne

20 gespreksvragen·
Mid-Level
1

Welke syntaxis wordt gebruikt om een declaratieve macro in Rust te definiëren?

Antwoord

De macro_rules!-syntaxis wordt gebruikt om declaratieve macro's in Rust te definiëren. Deze vorm van metaprogrammering gebruikt pattern matching op de Rust-syntaxis om code tijdens het compileren te transformeren. Declaratieve macro's worden ook "macros by example" genoemd omdat ze werken door patronen te matchen en code te produceren op basis van die patronen.

2

Hoe roep je een macro aan in Rust?

Antwoord

Macro's in Rust worden aangeroepen met een uitroepteken na hun naam, gevolgd door argumenten tussen ronde, vierkante of accoladehaken. Deze conventie maakt het mogelijk macro-aanroepen visueel te onderscheiden van normale functieaanroepen. Bijvoorbeeld println!("Hello") of vec![1, 2, 3] zijn macro-aanroepen.

3

Welke fragment specifier gebruik je om een expressie in een declaratieve macro vast te leggen?

Antwoord

De fragment specifier $e:expr legt een Rust-expressie vast in een declaratieve macro. Fragment specifiers definiëren het type syntaxis dat de macro kan accepteren. Andere veelvoorkomende specifiers zijn ident voor identifiers, ty voor types, tt voor een token tree en block voor een codeblok.

4

Wat is het belangrijkste verschil tussen declaratieve en procedurele macro's?

5

Wat is macro-hygiëne in Rust?

+17 gespreksvragen

Beheers Rust voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis