0

我需要检查标识符是否以下划线开头。这不起作用:

#[macro_export]
macro_rules! UNDECORED {
    (_$_i:ident) => {... do something if underscored};
    ($_i:ident) => {... do something else};
}

错误在哪里?

4

1 回答 1

2

宏接收“令牌”作为输入;前导下划线不是单独的标记,您不能匹配部分标记。

您可以stringify!在运行时识别标识符并匹配名称。

于 2017-11-25T14:03:10.887 回答