下面是所有 片段标识符(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 |