gpt4 book ai didi

rust - macro_rules 是一个普通的宏吗?

转载 作者:行者123 更新时间:2023-12-04 12:04:15 27 4
gpt4 key购买 nike

我正在尝试理解 rust 宏语法。 Here我读到宏通常可以以 3 种方式调用:

mymacro!(<tokens>);
mymacro![<tokens>];
mymacro!{<tokens>};
...然后我看到一个示例宏定义也使用宏( macro_rules ),但语法不符合这些规则:
macro_rules! name {<tokens>}
name一个 token ,我们在这里有第 4 个合法的宏调用形式或 macro_rules是一个关键字而不仅仅是宏并使用常规宏不可用的特殊语法?

最佳答案

不,macro_rules是一个特殊的“指令”。可以查看编译器语法树here .
重要的部分是:

Syntax
MacroRulesDefinition :
macro_rules ! IDENTIFIER MacroRulesDef
可以看到它是宏语法的入口点。

关于rust - macro_rules 是一个普通的宏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69471332/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com