mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2024-12-26 21:00:24 +08:00
Update Ch14
This commit is contained in:
parent
9c65205fc7
commit
da042f7675
@ -1,4 +1,4 @@
|
||||
//! # art - 美术
|
||||
//! # art
|
||||
//!
|
||||
//! 建模诸多美术概念的一个库。
|
||||
|
||||
|
@ -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 |
Loading…
Reference in New Issue
Block a user