タグ付けされた質問 「hygiene」

2
手続き型マクロによって生成されたコードで衛生的な識別子を作成するにはどうすればよいですか?
宣言型(macro_rules!)マクロを記述すると、マクロの衛生状態が自動的に取得されます。この例でfは、マクロで名前が付けられた変数を宣言しf、ローカル変数になる識別子を渡します。 macro_rules! decl_example { ($tname:ident, $mname:ident, ($($fstr:tt),*)) => { impl std::fmt::Display for $tname { fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { let Self { $mname } = self; write!(f, $($fstr),*) } } } } struct Foo { f: String, } decl_example!(Foo, f, ("I am a Foo: {}", f)); fn …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.