< 返回我的博客

Deen 发表于 2018-12-24 23:19

Tags:macro

我最近开始学习rust,看到了宏的部分,有点困惑但是Google上也没搜到答案,想请教下大家。 在nom crate里我看它定义了一个take宏如下:

  ($i:expr, $count:expr) => (
    {
	// 可以一大坨逻辑
      res
    }
  );

看起来使用时必须要take!(expr1, expr2)才行,但是事实上使用时用take!(1)就行了,不知道是什么原因,求解答。 这里是它的doc链接

评论区

写评论
crud-boy 2019-03-30 06:16

因为你把那两个expr丢了,rust里面定义了就不能丢

1 共 1 条评论, 1 页