|
|
|
@ -49,7 +49,7 @@
|
|
|
|
|
{{#rustdoc_include ../listings/ch07-managing-growing-projects/no-listing-02-extracting-hosting/src/front_of_house/hosting.rs}}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
如果将 *hosting.rs* 放在 *src* 目录,编译器会认为 `hosting` 模块中的 *hosting.rs* 的代码声明于 crate 根,而不是声明为 `front_of_house` 的子模块。编译器所遵循的在模块代码中寻找什么文件的规则,意味着目录和文件更紧密的比配了模块树。
|
|
|
|
|
如果将 *hosting.rs* 放在 *src* 目录,编译器会认为 `hosting` 模块中的 *hosting.rs* 的代码声明于 crate 根,而不是声明为 `front_of_house` 的子模块。编译器所遵循的哪些文件对应哪些模块的代码的规则,意味着目录和文件更接近于模块树。
|
|
|
|
|
|
|
|
|
|
> ### 另一种文件路径
|
|
|
|
|
>
|
|
|
|
@ -66,7 +66,7 @@
|
|
|
|
|
>
|
|
|
|
|
> 如果你对同一模块同时使用这两种路径风格,会得到一个编译错误。在同一项目中的不同模块混用不同的路径风格是允许的,不过这会使他人感到疑惑。
|
|
|
|
|
>
|
|
|
|
|
> 使用 *mod.rs* 文件名的老风格的主要缺点是会导致项目中出现很多 *mod.rs* 文件,当你在编辑器中同时打开他们时会感到疑惑。
|
|
|
|
|
> 使用 *mod.rs* 这一文件名的风格的主要缺点是会导致项目中出现很多 *mod.rs* 文件,当你在编辑器中同时打开他们时会感到疑惑。
|
|
|
|
|
|
|
|
|
|
我们将各个模块的代码移动到独立文件了,同时模块树依旧相同。`eat_at_restaurant` 中的函数调用也无需修改继续保持有效,即便其定义存在于不同的文件中。这个技巧让你可以在模块代码增长时,将它们移动到新文件中。
|
|
|
|
|
|
|
|
|
|