我试图将我的程序拆分为一个库,其中包含多个具有结构和函数的子模块,以及一个使用所有这些子模块的主文件。我想要一个子模块,其中包含除了其他子模块之外其他任何地方都不需要的有用功能。但是,我在将此子模块导入另一个子模块时遇到困难。 cargo 项目名为 eant_rust。我的 lib.rs 和 main.rs 文件位于 src 目录中。我有一个名为 module 的文件夹,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
。 模块
中没有函数
。
最佳答案
如果我理解正确的话,你的文件看起来像这样:
lib -
|- lib.rs
|- main.rs
|- modules -
|- mod.rs
|- functions.rs
|- network.rs
根据您在 network.rs
中编写的内容,您应该能够使用 modules::functions
但您似乎没有将其包含在modules/mod.rs
因此,在modules/mod.rs 中添加一行带有modfunctions;
的内容。
关于windows - 从其他子模块访问子模块的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33968344/