mirror of
https://github.com/gnu4cn/rust-lang-zh_CN.git
synced 2024-12-25 20:30:34 +08:00
Updated 'src/packages_crates_and_modules/defining_modules.md'.
This commit is contained in:
parent
ccbb7d5823
commit
9d790a19d2
@ -87,7 +87,7 @@ pub struct Asparagus {}
|
||||
现在就来进入到这些规则的细节,并在实际操作中对他们进行演示吧!
|
||||
|
||||
|
||||
## 吧有关联的代码分组在模组中
|
||||
## 把有关联的代码分组在模组中
|
||||
|
||||
**Grouping Related Code in Modules**
|
||||
|
||||
@ -128,9 +128,9 @@ mod front_of_house {
|
||||
|
||||
经由模组的使用,就可以将有关联的一些定义,组织在一起,并以他们因何相关而取个名字。使用此代码的程序员们,就可以根据这些分组,而非通读全部的这些定义,来浏览代码,那么在找到他们想要使用的那些定义时,就会容易一些。而对于要往该代码增加新功能的那些程序员,就清楚在哪里放置代码,来保持程序组织有序。
|
||||
|
||||
早先曾提到 `src/main.rs` 与 `src/lib.rs` 都叫做代码箱根(crate root)。他们之所以有着这样的名字,是由于这两个文件的内容,都形成了位处该代码箱的模组结构(the root of the crate's module structure),又称为 *模组树(module tree)*根部处,名为 `crate` 的模组。
|
||||
前面我们曾提到,`src/main.rs` 和 `src/lib.rs` 被称为代码箱根。之所以叫这两个文件为代码箱根,是因为这两个文件的内容,构成了位于该代码箱结构(即 *模组树,module tree*)根部,名为 `crate` 的模组。
|
||||
|
||||
以下清单 7-2 给出了清单 7-1 中结构的模组树(模组结构):
|
||||
清单 7-2 显示了清单 7-1 中结构的模组树。
|
||||
|
||||
```console
|
||||
crate
|
||||
@ -146,6 +146,6 @@ crate
|
||||
|
||||
*清单 7-2:清单 7-1 中代码的模组树*
|
||||
|
||||
该树展示了一些模组是怎样嵌套在另一模组内部的(比如,`hosting` 就嵌套在 `front_of_house` 里头)。该树还展示了一些模组与其他模组互为 *姊妹关系(siblings)*,即他们是定义在同一模组中的(`hosting` 与 `serving` 都是定义在 `front_of_house` 模组中)。继续以家族作比喻,那么在模组 A 为包含在模组 B 里头时,就说模组 A 是模组 B 的 *子模组(child)*,而模组 B 即为模组 A 的 *父模组(parent)*。请注意这里的整个模组树,都是以那个隐式的、名为 `crate` 模组,作为的根。
|
||||
该树显示了其中一些模组是如何嵌套在另一模组中的;例如,`hosting` 嵌套在 `front_of_house` 中。该树还显示其中一些模组彼此属于 *同辈,siblings*,即他们被定义在同一模组中;`hosting` 和 `serving` 是 `front_of_house` 中定义的同辈份模组。如果模组 A 包含在模组 B 中,我们就说模组 A 是模组 B 的子模组,而模组 B 是模组 A 的父模组。请注意,整个模组树的根,都位于名为 `crate` 的隐式模组下。
|
||||
|
||||
模组树或许会令人想到计算机上文件系统的目录树;这可是一个极为恰当的类比!就跟文件系统中的目录一样,使用模组是为对代码进行组织。而正如目录中的那些文件,这里需要一种找到那些模组的方法。
|
||||
模组树可能会让咱们联想到电脑上的文件系统目录树;这是个非常恰当的比较!就像文件系统中的目录一样,咱们可以使用模组来组织代码。而就像目录中的文件一样,我们需要一种找到咱们模组的方法。
|
||||
|
Loading…
Reference in New Issue
Block a user