Rust

Makros

Deklarative Makros (macro_rules!), Derive-Makros, Attribut-Makros, prozedurale Makros, Makro-Hygiene

20 Interview-Fragen·
Mid-Level
1

Welche Syntax wird verwendet, um ein deklaratives Makro in Rust zu definieren?

Antwort

Die macro_rules!-Syntax wird verwendet, um deklarative Makros in Rust zu definieren. Diese Form der Metaprogrammierung nutzt Pattern Matching auf der Rust-Syntax, um Code zur Kompilierzeit zu transformieren. Deklarative Makros werden auch "macros by example" genannt, da sie funktionieren, indem sie Muster abgleichen und basierend auf diesen Mustern Code erzeugen.

2

Wie ruft man ein Makro in Rust auf?

Antwort

Makros in Rust werden mit einem Ausrufezeichen nach ihrem Namen aufgerufen, gefolgt von Argumenten in runden, eckigen oder geschweiften Klammern. Diese Konvention ermöglicht es, Makroaufrufe visuell von normalen Funktionsaufrufen zu unterscheiden. Zum Beispiel sind println!("Hello") oder vec![1, 2, 3] Makroaufrufe.

3

Welchen Fragment-Specifier verwendet man, um einen Ausdruck in einem deklarativen Makro zu erfassen?

Antwort

Der Fragment-Specifier $e:expr erfasst einen Rust-Ausdruck in einem deklarativen Makro. Fragment-Specifier definieren die Art von Syntax, die das Makro akzeptieren kann. Andere gängige Specifier sind ident für Bezeichner, ty für Typen, tt für einen Token-Tree und block für einen Codeblock.

4

Was ist der Hauptunterschied zwischen deklarativen und prozeduralen Makros?

5

Was ist Makro-Hygiene in Rust?

+17 Interview-Fragen

Meistere Rust für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten