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

时间:2015-11-28 06:18:55

标签: windows module rust

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

1 个答案:

答案 0 :(得分:5)

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

lib -
    |- lib.rs
    |- main.rs
    |- modules -
               |- mod.rs
               |- functions.rs
               |- network.rs

根据您在network.rs中所写的内容,您应该可以使用modules::functions,但似乎您没有将其包含在modules / mod.rs中

所以在模块/模块中添加一行mod functions;