我需要检查标识符是否以下划线开头。这不起作用:
#[macro_export]
macro_rules! UNDECORED {
(_$_i:ident) => {... do something if underscored};
($_i:ident) => {... do something else};
}
错误在哪里?
最佳答案
宏接收“ token ”作为输入;前导下划线不是单独的标记,并且您不能匹配部分标记。
您可以 stringify!
标识符并在运行时匹配名称。
关于macros - 如何测试宏中的标识符是否以下划线开头?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47486694/