Merge pull request #51 from YangFong/doc-style

docs: Reformat the document
This commit is contained in:
Aaran Xu 2022-01-18 03:38:09 +08:00 committed by GitHub
commit eeda1611ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 11 deletions

View File

@ -188,7 +188,7 @@
| 符号 | 解释 |
|---------|-------------|
| `[...]` | 数组 |
| `[expr; len]` | 复制了 `len``expr`的数组 |
| `[type; len]` | 包含 `len``type` 类型的数组|
| `[expr; len]` | 复制了 `len` `expr` 的数组 |
| `[type; len]` | 包含 `len` `type` 类型的数组|
| `expr[expr]` | 集合索引。 重载(`Index`, `IndexMut` |
| `expr[..]`, `expr[a..]`, `expr[..b]`, `expr[a..b]` | 集合索引,使用 `Range``RangeFrom``RangeTo` 或 `RangeFull` 作为索引来代替集合 slice |

View File

@ -4,11 +4,11 @@
在本附录中提供了标准库中所有可以使用 `derive` 的 trait 的参考。这些部分涉及到:
* 该 trait 将会派生什么样的操作符和方法
*`derive` 提供什么样的 trait 实现
* 由什么来实现类型的 trait
* 是否允许实现该 trait 的条件
* 需要 trait 操作的例子
- 该 trait 将会派生什么样的操作符和方法
-`derive` 提供什么样的 trait 实现
- 由什么来实现类型的 trait
- 是否允许实现该 trait 的条件
- 需要 trait 操作的例子
如果你希望不同于 `derive` 属性所提供的行为,请查阅 [标准库文档](https://doc.rust-lang.org/std/index.html) 中每个 trait 的细节以了解如何手动实现它们。
@ -82,7 +82,7 @@
`Default::default` 函数通常结合结构体更新语法一起使用,这在第 5 章的 [“使用结构体更新语法从其他实例中创建实例”][creating-instances-from-other-instances-with-struct-update-syntax] 部分有讨论。可以自定义一个结构体的一小部分字段而剩余字段则使用 `..Default::default()` 设置为默认值。
例如,当你在 `Option<T>` 实例上使用 `unwrap_or_default` 方法时,`Default` trait是必须的。如果 `Option<T>``None`的话, `unwrap_or_default` 方法将返回存储在 `Option<T>``T` 类型的 `Default::default` 的结果。
例如,当你在 `Option<T>` 实例上使用 `unwrap_or_default` 方法时,`Default` trait 是必须的。如果 `Option<T>``None` 的话, `unwrap_or_default` 方法将返回存储在 `Option<T>``T` 类型的 `Default::default` 的结果。
[creating-instances-from-other-instances-with-struct-update-syntax]:
ch05-01-defining-structs.html#creating-instances-from-other-instances-with-struct-update-syntax

View File

@ -8,7 +8,7 @@
### 通过解引用运算符追踪指针的值
常规引用是一指针类型,一种理解指针的方式是将其看成指向储存在其他某处值的箭头。在示例 15-6 中,创建了一个 `i32` 值的引用y,接着使用解引用运算符解出y所引用的值:
常规引用是一指针类型,一种理解指针的方式是将其看成指向储存在其他某处值的箭头。在示例 15-6 中,创建了一个 `i32` 值的引用,接着使用解引用运算符解出所引用的值:
<span class="filename">文件名: src/main.rs</span>
@ -153,8 +153,8 @@ Rust 将 `*` 运算符替换为先调用 `deref` 方法再进行普通解引用
### 函数和方法的隐式解引用强制转换
**解引用强制转换**_deref coercions_是 Rust 在函数或方法传参上的一种便利。解引用强制转换只能工作在实现了Deref trait的类型上。解引用强制转换将一种类型A隐式转换为另外一种类型B的引用因为A类型实现了Deref trait并且其关联类型是B类型。比如解引用强制转换可以将&String转换为&str因为类型String实现了Deref trait并且其关联类型是str。代码如下
**解引用强制转换**_deref coercions_是 Rust 在函数或方法传参上的一种便利。解引用强制转换只能工作在实现了 Deref trait 的类型上。解引用强制转换将一种类型A隐式转换为另外一种类型B的引用因为 A 类型实现了 Deref trait并且其关联类型是 B 类型。比如,解引用强制转换可以将 &String 转换为 &str因为类型 String 实现了 Deref trait 并且其关联类型是 str。代码如下
```rust,ignore,does_not_compile
#[stable(feature = "rust1", since = "1.0.0")]
impl ops::Deref for String {