Rust

マクロ

宣言的マクロ(macro_rules!)、derive マクロ、attribute マクロ、手続き的マクロ、マクロの衛生性

20 面接問題·
Mid-Level
1

Rust で宣言的マクロを定義するために使用される構文はどれですか?

回答

macro_rules! 構文は Rust で宣言的マクロを定義するために使用されます。このメタプログラミングの形式は、Rust 構文に対するパターンマッチングを使用してコンパイル時にコードを変換します。宣言的マクロは、パターンをマッチさせてそのパターンに基づいてコードを生成するため、「macros by example」とも呼ばれます。

2

Rust でマクロを呼び出すにはどうしますか?

回答

Rust のマクロは名前の後に感嘆符を付け、続けて括弧、角括弧、または波括弧で引数を渡して呼び出します。この慣習により、マクロ呼び出しを通常の関数呼び出しと視覚的に区別できます。例えば println!("Hello") や vec![1, 2, 3] はマクロの呼び出しです。

3

宣言的マクロで式をキャプチャするにはどの fragment specifier を使いますか?

回答

fragment specifier $e:expr は宣言的マクロで Rust の式をキャプチャします。fragment specifier はマクロが受け付けられる構文の種類を定義します。その他のよく使われる specifier には、識別子用の ident、型用の ty、token tree 用の tt、コードブロック用の block があります。

4

宣言的マクロと手続き的マクロの主な違いは何ですか?

5

Rust におけるマクロの衛生性(macro hygiene)とは何ですか?

+17 面接問題

次の面接に向けてRustをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める