From e231bafcf52bac0efca928b732d7c3bb697a1117 Mon Sep 17 00:00:00 2001 From: Unisko PENG Date: Fri, 7 Apr 2023 16:15:54 +0800 Subject: [PATCH] Update Ch21 --- src/Ch21_Appendix.md | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/src/Ch21_Appendix.md b/src/Ch21_Appendix.md index 424749b..225f626 100644 --- a/src/Ch21_Appendix.md +++ b/src/Ch21_Appendix.md @@ -114,7 +114,7 @@ fn main() { ## 附录 B:运算符与符号 -此附录包含了 Rust 语法的词汇表,包括运算符与别的一些自己出现,或出现于路径、泛型、特质边界、宏、属性、注释、元组及方括符等上下文中的符号。 +此附录包含了 Rust 语法的词汇表,包括运算符及别的一些,自己单独出现或出现于路径、泛型、特质边界、宏、属性、注释、元组及方括符等上下文中的符号。 ### 运算符 @@ -173,10 +173,30 @@ fn main() { | `@` | `ident @ pat` | 模式绑定 | | | `^` | `var ^ expr` | 按位异或运算 | `BitXor` | | `^=` | `var ^= expr` | 按位异或运算并赋值 | `BitXorAssign` | -| `|` | `pat | pat` | 模式选择,pattern alternatives | | -| `|` | `expr | expr` | 按位或运算 | `BitOr` | -| `|=` | `var |= expr` | 按位或运算并赋值 | `BitOrAssign` | -| `||` | `expr || expr` | 短路逻辑或运算 | | +| `\|` | `pat | pat` | 模式选择,pattern alternatives | | +| `\|` | `expr | expr` | 按位或运算 | `BitOr` | +| `\|=` | `var |= expr` | 按位或运算并赋值 | `BitOrAssign` | +| `\|\|` | `expr || expr` | 短路逻辑或运算 | | | `?` | `expr?` | 错误传递 | | +### 非运算符的符号 + +**Non-operator Symbols** + +以下清单包含了不以运算符发挥作用的全部符号;那就是说,他们不会表现得像函数或方法调用。 + +表 B-2 给出了自己单独出现,并在多种场合有效的一些符号。 + +**表 B-2:独立语法,Stand-Alone Syntax** + +| 符号 | 说明 | +| :--- | :--- | +| `'ident` | 命名的生命周期或循环标签 | +| `...u8`, `...i32`, `...f64`, `...usize` 等等 | 指定类型的数字字面值 | +| `"..."` | 字符串字面值 | +| `r"..."`, `r#"..."#`, `r##"..."##` 等等 | 原始字符串字面值,其中的转义字符不会被处理 | +| `b"..."` | 字节字符串字面值;构造出一个字节数组而非字符串 | +| `br"..."`, `br#"..."`, `br##"..."##` 等等 | 原始字节字符串字面值,是原始与字节字符串字面值的结合 | +| `'...'` | 字符字面值 | +| `b'...'` | ASCII 字节字面值 |