Kon*_*ele 5 macros rust nom
我试图了解Rust宏如何捕获工作,并正在查看nom解析器库。
位置nom / src / bytes.rs声明tag!使用捕获的宏($i:expr, $tag: expr)。但是,在使用的所有地方,tag!它仅使用一个参数,即tag!("+")。例如:NOM-lua52 / op.rs。我已经阅读了有关宏的教程,但是这种结构似乎很特殊。
tag!
($i:expr, $tag: expr)
tag!("+")
似乎输入$i是某种隐式的?
$i
sta*_*lue 6
诀窍是tag!()宏调用位于value!宏内部,它将tag!与之匹配并向其传递附加参数。文件实现中tag!对此进行了描述。
tag!()
value!
归档时间:
7 年,3 月 前
查看次数:
103 次
最近记录:
6 年,7 月 前