从其他子模块的子模块访问功能

pen*_*123 2 windows module rust

我试图将我的程序拆分为一个包含多个具有结构和函数的子模块的库,以及一个使用所有子模块的主文件.我想要一个包含有用功能的子模块,除了其他子模块之外,其他任何地方都不需要这些功能.但是,我很难将此子模块导入另一个子模块.货物项目称为eant_rust.我的lib.rs和main.rs文件位于src目录中.我有一个名为modules的文件夹,lib.rs文件从中导入.在modules文件夹里面是一个mod.rs文件,我遇到了两个子模块.

lib.rs:

pub mod modules;
Run Code Online (Sandbox Code Playgroud)

main.rs:

extern crate eant_rust;

fn main() {}
Run Code Online (Sandbox Code Playgroud)

mod.rs(带有两个子模块的模块文件夹内):

pub mod network;
Run Code Online (Sandbox Code Playgroud)

functions.rs(一个子模块):

pub fn reverse() {}
pub fn sum_vec() {}
Run Code Online (Sandbox Code Playgroud)

network.rs(另一个):

use modules::functions;
functions::reverse();
functions::sum_vec();
Run Code Online (Sandbox Code Playgroud)

当我尝试编译时,我收到以下错误:错误:未解决的导入modules::functions.有没有functionsmodules.

Nei*_*kos 5

如果我理解正确你的文件是这样的:

lib -
    |- lib.rs
    |- main.rs
    |- modules -
               |- mod.rs
               |- functions.rs
               |- network.rs
Run Code Online (Sandbox Code Playgroud)

从你在你写的network.rs内容应该能够使用,modules::functions但似乎你没有将它包含在modules/mod.rs中

所以mod functions;在modules/mod.rs中添加一行.