Update Ch14

This commit is contained in:
Unisko PENG 2023-04-23 16:19:52 +08:00
parent 9c65205fc7
commit da042f7675
3 changed files with 8 additions and 8 deletions

View File

@ -1,4 +1,4 @@
//! # art - 美术
//! # art
//!
//! 建模诸多美术概念的一个库。

View File

@ -213,14 +213,14 @@ error: doctest failed, to rerun pass `--doc`
在第 7 章中,咱们曾讲到过怎样使用 `pub` 关键字把一些程序项目构造为公开,与怎样使用 `use` 关键字,把程序项目带入到作用域。但是,咱们在开发某个代码箱时,对咱们有意义的组织结构(模组树),对于咱们的用户则可能不那么便利。咱们会打算把代码箱结构组织为包含多个级别的层次,但随后某个想要使用定义在层次结构深处类型的人,就可能在找出那个类型是否存在上遇到麻烦。他们可能还会对必须敲入 `use cargo_features_demo::some_module::another_module::UsefulType;`,而非敲入 `use cargo_features_demo::UsefulType;` 而感到恼火。
可喜的是,在代码箱组织结构 *不* 便于其他人在另外的库中使用时,咱们不必重新调整代码箱的内部组织:相反,咱们可通过使用 `pub use`,重新导出程序项目,而构造出一种不同于咱们私有组织结构的公开组织结构。重新导出re-export会取一处的公开程序项目而在另一处将其构造为公开就跟这个项目是在那另一处被定义过一样。
可喜的是,若代码箱组织结构 *不* 便于其他人在另一库中使用,咱们不必重新调整代码箱的内部组织:相反,咱们可通过使用 `pub use`重新导出程序项目而构造出一种不同于咱们私有组织结构的公开组织结构。重新导出re-export会取一处的公开程序项目而在另一处将其构造为公开就跟这个项目是在那另一处被定义过一样。
比如,假设这里构造了用于对一些美术概念建模的一个名为 `art` 的库。这个库里有两个模组:包含了两个分别名为 `PrimaryColor``SeccondaryColor` 枚举的 `kinds` 模组与包含了一个名为 `mix` 函数的 `utils` 模组,如下清单 14-3 中所示:
比如说,咱们构造了用于建模美术概念的一个名为 `art` 的库。这个库里有两个模组:包含了两个名为 `PrimaryColor``SeccondaryColor` 枚举的 `kinds` 模组与包含了名为 `mix` 函数的 `utils` 模组,如下清单 14-3 中所示:
文件名:`src/lib.rs`
```rust
//! # 美术
//! # art
//!
//! 建模诸多美术概念的一个库。
@ -252,18 +252,18 @@ pub mod utils {
}
```
*清单 14-3带有组织在 `kinds``utils` 模组中一些程序项目的 `art` 库*
*清单 14-3有着组织到 `kinds``utils` 两个模组中的一些程序项目的 `art` 库*
下图 14-03 给出了由 `cargo doc` 产生出的该代码箱文档首页的样子:
下图 14-03 展示了由 `cargo doc` 产生出的该代码箱文档首页,看起来的样子:
![列出 `kinds` 与 `utils` 两个模组的 `art` 代码箱文档首页](images/14-03.png)
*图 14-3列出 `kinds``utils` 两个模组的 `art` 代码箱文档首页*
请注意 `PrimaryColor``SecondaryColor` 两个类型,并未在首页上列出,那个 `mix` 函数也没有。要看到他们,就必须点击 `kinds``utils`
请注意 `PrimaryColor``SecondaryColor` 两个类型,`mix` 函数都未在首页上列出。要看到他们,咱们必须点击 `kinds``utils`
依赖于这个库的另一代码箱,就需要使用将一些将程序项目从 `art` 带入到作用域的 `use` 语句,指定当前所定义的这种模组结构。下面清单 14-4 给出了用到这个 `art` 代码箱中 `PrimaryColor``mix` 两个项目的代码箱示例:
依赖于这个库的另一代码箱,将需要把程序项目从 `art` 带入到作用域的 `use` 语句,与指明当前定义的模组结构。下面清单 14-4 给出了用到 `art` 代码箱中 `PrimaryColor``mix` 两个程序项目的代码箱示例:
文件名:`src/main.rs`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

After

Width:  |  Height:  |  Size: 214 KiB