From ccbb7d5823094d177b70756679101b6acd642cd2 Mon Sep 17 00:00:00 2001 From: "Peng Hailin," Date: Mon, 1 Jan 2024 19:33:41 +0800 Subject: [PATCH] Updated 'src/packages_crates_and_modules/defining_modules.md'. --- src/packages_crates_and_modules/defining_modules.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/packages_crates_and_modules/defining_modules.md b/src/packages_crates_and_modules/defining_modules.md index 4a3a4b9..c65e4d6 100644 --- a/src/packages_crates_and_modules/defining_modules.md +++ b/src/packages_crates_and_modules/defining_modules.md @@ -94,11 +94,12 @@ pub struct Asparagus {} *模组,modules* 让我们可以把代码组织在代码箱中,以提高可读性并方便重复使用。模组还允许我们控制程序项目的私密性,因为某个模组内的代码默认为私有。私有项目是一些内部的实现细节,不供外部使用。我们可以选择将模组及其中的项目公开,这样就可以让外部代码使用和依赖他们。 -举例来说,这里要编写一个提供饭馆功能的库代码箱。那么就会定义出一些函数签名,不过要将这些函数的函数体留作空白,而非在代码中具体实现一个饭馆出来,以专注于代码组织。 +例如,我们来编写一个提供餐厅功能的库代码箱。我们将定义函数的签名,但函数体留空,以专注于代码的组织,而不是实现餐厅的实现。 -在餐饮行业,饭馆的一些部分被称作 *前台(front of house)*,而其余部分则被称作 *后厨(back of house)*。前台是顾客们所在的地方;这是饭馆领台给食客安排位置、服务员拿到菜单和买单,以及调酒师制作饮品的地方。而后厨则是大厨和厨师们在厨房做菜、洗碗工做清洁工作,以及经理们完成行政工作的地方。 +在餐饮业,餐厅的一些部分被称为 *前厅,front of house*,其他部分被称为 *后厨,back of house*。前厅是顾客所在的地方;包括餐厅领台为顾客安排座位、服务员接受点单和付款,以及调酒师调制饮料的地方。后厨是厨师和厨工在厨房工作、洗碗工进行清洁和经理进行行政工作的地方。 + +为了以这种方式架构我们的代码箱,我们可以将其函数,组织成一些嵌套的模组。请运行 `cargo new restaurant --lib`,创建一个名为 `restaurant` 的新库;然后在 `src/lib.rs` 中,输入下面清单 7-1 中的代码,定义一些模组和函数签名。下面是前台部分: -为了以此种方式架构起这里代码,那么就可以将其函数,组织进一些嵌套模组中。通过运行 `cargo new --lib restaurant` 命令,创建出一个新的、名为 `restaurant` 的库;然后把下面清单 7-1 中的代码,敲入到文件 `src/lib.rs` 里,而定义出一些模组与函数签名。下面是饭馆前台部分: 文件名:`src/lib.rs` @@ -120,9 +121,10 @@ mod front_of_house { } ``` -*清单 7-1:包含着别的一些、又包含了一些函数的模组的一个 `front_of_house` 模组(a `front_of_house` module containing other modules that then contain functions)* +*清单 7-1:包含着其他包含了函数模组的 `front_of_house` 模组* -这里使用跟着模组名字(此示例中,即 `front_of_house`)的关键字 `mod`,定义的一个模组。随后就是位处一对花括号中的模组代码体(the body of the module)。在模组内部,可以有其他模组,如同此示例中的 `hosting` 与 `serving` 模组。模组还可以驻留一些别的项目,诸如结构体、枚举、常量、特质(traits),以及 -- 如同在清单 7-1 中那样的 -- 一些函数等等。 + +我们使用后跟模组名字(本例中为 `front_of_house`)的 `mod` 关键字,定义某个模组。随后模组的主体,位于花括号内。在模组内部,我们可以放置其他模组,就像本例中 `hosting` 和 `serving` 模组。模组还可以包含其他项目的定义,如结构体、枚举、常量、特质,以及如同清单 7-1 中的函数。 经由模组的使用,就可以将有关联的一些定义,组织在一起,并以他们因何相关而取个名字。使用此代码的程序员们,就可以根据这些分组,而非通读全部的这些定义,来浏览代码,那么在找到他们想要使用的那些定义时,就会容易一些。而对于要往该代码增加新功能的那些程序员,就清楚在哪里放置代码,来保持程序组织有序。