Module 如何在不同文件中导入libs模块

Module 如何在不同文件中导入libs模块,module,rust,Module,Rust,解决模块导入时遇到问题。以下是我的文件结构: 。 |--场面 ||--libs || |--mod.rs ||`--components.rs ||--mod.rs |`--scene.rs `--梅因 我无法在scene.rs中导入模块libs。我想我不明白模块的逻辑。任何帮助都是值得感激的 如果我尝试做mod libs在scene.rs中 错误[E0583]:找不到模块'libs'的文件` -->src/scenes/scene.rs:2:5 | 2 | mod libs; | ^

解决模块导入时遇到问题。以下是我的文件结构:

。
|--场面
||--libs
|| |--mod.rs
||`--components.rs
||--mod.rs
|`--scene.rs
`--梅因
我无法在scene.rs中导入模块
libs
。我想我不明白模块的逻辑。任何帮助都是值得感激的

如果我尝试做
mod libs在scene.rs中

错误[E0583]:找不到模块'libs'的文件`
-->src/scenes/scene.rs:2:5
|
2 | mod libs;
|     ^^^^
|
=帮助:将目录“src/scenes”中的文件命名为scene/libs.rs或scene/libs/mod.rs
目录文件:

梅因

mod scenes;
let sc = scenes::scene::Scene{};
场景/scene.rs

mod libs; // errors
pub struct Sphere {
    pub center: libs::components::Point
}
pub struct Scene {}
场景/mod.rs

pub mod scene;
pub mod libs;
场景/libs/components.rs

pub struct Point {}
场景/libs/mod.rs

pub mod components;

编写
使用板条箱::场景::libs
,而不是
mod libs

Rust 2018版稍微改变了模块系统,以帮助澄清此类情况

您的目录应按如下方式重新构造:

main.rs
scenes.rs
scenes
|   libs.rs
|   libs
|   |   components.rs
|   scene.rs
这里的主要区别是,
mod.rs
文件现在从文件夹中提取出来,并适当命名

2018年前-2018年11月


编写
use scenes::libs
,而不是
mod libs


错误消息告诉您,您正试图声明不存在的
场景
子模块的存在。相反,您希望导入(使用
use
)由
scenes::libs
从板条箱根目录访问的
libs
模块。

尝试编译器建议的方法时会发生什么:将文件命名为scene/libs.rs或scene/libs/mod.rs目录下的“src/scenes”我想你在什么地方犯了个错误。我把文件的内容写完了。我没有;我不知道特定于生锈的MCVE提示。我无法尝试使用scene/libs.rs或scene/libs/mod.rs,因为scene是一个文件。或者我错过了什么对不起,错了,我编辑了我的问题。因为场景是一个文件-场景。rs是一个文件-哪里有一个叫做“唯一场景”的文件?