mirror of
https://github.com/KaiserY/trpl-zh-cn
synced 2024-11-09 08:51:18 +08:00
fixed CH07-01 L321, CH07-02 L212 L224
This commit is contained in:
parent
4aa1c03de3
commit
ccdf0540a3
@ -318,7 +318,7 @@ communicator
|
||||
│ └── server.rs
|
||||
```
|
||||
|
||||
那么,当我们想要提取`network::server`模块时,为什么也必须将 *src/network.rs* 文件改名成 *src/network/mod.rs* 文件呢,还有为什么要将`network::server`的代码放入 *network* 目录的 *src/network/server.rs* 文件中,而不能将`network::server`模块提取到 *src/server.rs* 中呢?原因是如果 *server.rs* 文件在 *src* 目录中那么 Rust 就不能知道`server`应当是`network`的子模块。为了更清除的说明为什么 Rust 不知道,让我们考虑一下有着如下层级的另一个例子,它的所有定义都位于 *src/lib.rs* 中:
|
||||
那么,当我们想要提取`network::server`模块时,为什么也必须将 *src/network.rs* 文件改名成 *src/network/mod.rs* 文件呢,还有为什么要将`network::server`的代码放入 *network* 目录的 *src/network/server.rs* 文件中,而不能将`network::server`模块提取到 *src/server.rs* 中呢?原因是如果 *server.rs* 文件在 *src* 目录中那么 Rust 就不能知道`server`应当是`network`的子模块。为了更清楚得说明为什么 Rust 不知道,让我们考虑一下有着如下层级的另一个例子,它的所有定义都位于 *src/lib.rs* 中:
|
||||
|
||||
```
|
||||
communicator
|
||||
|
@ -209,7 +209,7 @@ some of which are incorrect</span>
|
||||
|
||||
`outermost::middle_secret_function`的调用会造成一个编译错误。`middle_secret_function`是私有的,所以第二条(私有性)规则生效了。根模块既不是`middle_secret_function`的当前模块(`outermost`是),也不是`middle_secret_function`当前模块的子模块。
|
||||
|
||||
叫做`inside`的模块是私有的且没有子模块,所以它只能被当前模块访问,`outermost`。这意味着`try_me`函数不允许调用`outermost::inside::inner_function`或`outermost::inside::secret_function`任何一个。
|
||||
叫做`inside`的模块是私有的且没有子模块,所以它只能被当前模块`outermost`访问。这意味着`try_me`函数不允许调用`outermost::inside::inner_function`或`outermost::inside::secret_function`任何一个。
|
||||
|
||||
#### 修改错误
|
||||
|
||||
@ -221,4 +221,4 @@ some of which are incorrect</span>
|
||||
|
||||
请随意设计更多的实验并尝试理解他们!
|
||||
|
||||
接下来,让我们讨论一下使用`use`关键字来将项引入作用域。
|
||||
接下来,让我们讨论一下使用`use`关键字将模块项目引入作用域。
|
Loading…
Reference in New Issue
Block a user