元变量 MetaVariables - 图1

    下面是所有 片段标识符(fragment specifiers)的列表

    片段标识符 说明
    block 块表达式,在花括号之间的语句
    expr 一个表达式,Rust 中各种各样的东西,会生成具体的值
    ident 标识符或关键字。例如,函数声明(fn hello)的开头有一个关键字,后面跟着一个标识符,我们可以使用两次 ident 来捕获它们
    item 像结构体、枚举、导入 (use 声明)。语言项,就是组成一个 Rust 包的基本单位,比如模块、声明、函数定义、类型定
    义、结构体定义、impl 实现等
    lifetime rust 生命周期( ‘a )
    literal 字面量,如数字或字符
    meta 属性的内容,如 Clone 或 rename = “true”,表示包含在 #[…] 或 #![…] 属性内的信息
    pat 一个模式,如 1 2 3
    pat_param 和 pat 相似,除了它可以用 作为分隔符
    如规则 ($first:pat_param
    $second:ident) 成功使用
    但规则 ($first:pat
    $second:ident) 告诉你 pat 后面不能有 分隔符
    path 路径,如 ::A::B::C 或者 Self::method
    stmt 语句,如赋值语句 let foo =“bar”,一般指以分号结尾的代码
    tt TokenTree,它几乎会接受你传递给它的任何东西。这是一个强大的选择。但它的全面性也可能是一个缺点
    使用 tt,你的 matchers 变得不那么细粒度,因为这个 matchers 会表示“给我你有的任何东西”
    ty 类型,如 String
    vis 可见性修饰符(visibility modifier),如 pub