Macros 什么';在宏观模式中,impl的意义是什么?
在下面的示例中,取自Macros 什么';在宏观模式中,impl的意义是什么?,macros,rust,Macros,Rust,在下面的示例中,取自nom,字符串\uu impl出现在第一个模式中。就形式语法而言,这个元素是什么?它为什么存在 我的印象是模式中的文本\uuuu impl,以及随后的调用在模式匹配过程中被用作伪字符串,以将内部使用的模式与公共模式分开。但是,“内部”匹配臂也对rustdoc隐藏。\uuu impl-零件是否会生锈 #[macro_export] macro_rules! map( // Internal parser, do not use directly (__impl $i:e
nom
,字符串\uu impl
出现在第一个模式中。就形式语法而言,这个元素是什么?它为什么存在
我的印象是模式中的文本\uuuu impl
,以及随后的调用在模式匹配过程中被用作伪字符串,以将内部使用的模式与公共模式分开。但是,“内部”匹配臂也对rustdoc
隐藏。\uuu impl
-零件是否会生锈
#[macro_export]
macro_rules! map(
// Internal parser, do not use directly
(__impl $i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => (
...
);
($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => (
map!(__impl $i, $submac!($($args)*), $g);
);
($i:expr, $f:expr, $g:expr) => (
map!(__impl $i, call!($f), $g);
);
);
我的印象是模式中的文本\uuuu impl
,以及随后的调用在模式匹配过程中被用作伪字符串,以将内部使用的模式与公共模式分开
这是正确的。这是用户不应该知道或使用的内部实现细节。但是,宏必须是公共的,因为它们最终是由用户在使用站点进行扩展的
但是,“内部”匹配臂也对rustdoc
隐藏
我不知道你的意思,那只手臂:
另见:
\uuu impl
-零件是否会生锈
#[macro_export]
macro_rules! map(
// Internal parser, do not use directly
(__impl $i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => (
...
);
($i:expr, $submac:ident!( $($args:tt)* ), $g:expr) => (
map!(__impl $i, $submac!($($args)*), $g);
);
($i:expr, $f:expr, $g:expr) => (
map!(__impl $i, call!($f), $g);
);
);
不。很多时候,你会看到这个模式前面有另一个不太可能出现的信号,比如
@
或~
那么,rustdoc
知道“impl”这个特殊情况吗?