从其他子模块的子模块访问功能
Access functions from sub-module from other sub-module
我正在尝试将我的程序拆分为一个库,该库包含多个具有结构和函数的子模块,以及一个使用所有这些子模块的主文件。我想要一个子模块,其中包含除其他子模块外其他任何地方都不需要的有用功能。但是,我在将这个子模块导入另一个模块时遇到困难。货物项目称为 eant_rust。我的 lib.rs 和 main.rs 文件在 src 目录中。我有一个名为 modules 的文件夹,lib.rs 文件从中导入。模块文件夹内有一个 mod.rs 文件,其中包含我遇到问题的两个子模块。
lib.rs:
pub mod modules;
main.rs:
extern crate eant_rust;
fn main() {}
mod.rs(包含两个子模块的模块文件夹内):
pub mod network;
functions.rs(一个子模块):
pub fn reverse() {}
pub fn sum_vec() {}
network.rs(另一个):
use modules::functions;
functions::reverse();
functions::sum_vec();
当我尝试编译时出现以下错误:
错误:未解析的导入 modules::functions
。 modules
.
中没有functions
如果我理解正确的话,你的文件是这样的:
lib -
|- lib.rs
|- main.rs
|- modules -
|- mod.rs
|- functions.rs
|- network.rs
根据你在 network.rs
中写的内容,你应该可以使用 modules::functions
但是你似乎没有将它包含在 modules/mod.rs
中
所以在 modules/mod.rs.
中添加一行 mod functions;
我正在尝试将我的程序拆分为一个库,该库包含多个具有结构和函数的子模块,以及一个使用所有这些子模块的主文件。我想要一个子模块,其中包含除其他子模块外其他任何地方都不需要的有用功能。但是,我在将这个子模块导入另一个模块时遇到困难。货物项目称为 eant_rust。我的 lib.rs 和 main.rs 文件在 src 目录中。我有一个名为 modules 的文件夹,lib.rs 文件从中导入。模块文件夹内有一个 mod.rs 文件,其中包含我遇到问题的两个子模块。
lib.rs:
pub mod modules;
main.rs:
extern crate eant_rust;
fn main() {}
mod.rs(包含两个子模块的模块文件夹内):
pub mod network;
functions.rs(一个子模块):
pub fn reverse() {}
pub fn sum_vec() {}
network.rs(另一个):
use modules::functions;
functions::reverse();
functions::sum_vec();
当我尝试编译时出现以下错误:
错误:未解析的导入 modules::functions
。 modules
.
functions
如果我理解正确的话,你的文件是这样的:
lib -
|- lib.rs
|- main.rs
|- modules -
|- mod.rs
|- functions.rs
|- network.rs
根据你在 network.rs
中写的内容,你应该可以使用 modules::functions
但是你似乎没有将它包含在 modules/mod.rs
所以在 modules/mod.rs.
中添加一行mod functions;