有没有办法让我不必显式地声明
use
我声明的每个模块(也不完全限定它们)?
我正在遵循 Rust 教程,该教程让我拆分一个模块来分离一些代码,然后我在父模块中的一些代码中使用所有子模块。所以模块文件夹看起来像这样(该教程是针对使用 ECS 的)
并且在
mod.rs
中我有以下代码:
mod player_input;
mod hud;
mod movement;
use self::{player_input::*, hud::*, movement::*}
如果我尝试将 use 语句缩短为
use self::*;
,我会收到此错误:
... unresolved import `self::*`
| use self::*;
| ^^^^^^^ cannot glob-import a module into itself
在进一步阅读本文后,我意识到我必须递归地导入子模块,所以这是有道理的,但是有没有办法让我避免必须显式使用我的所有子模块(或完全限定它们)。
我知道我可以让我的编辑器在我键入时自动使用内容,但这仍然会在我的代码文件顶部留下一团糟,如果我可以避免的话,我不喜欢“让 IDE 处理它”。
include!
这些文件而不是使它们成为子模块:
include!("player_input.rs");
include!("hud.rs");
include!("movement.rs");
但我真的不会,宏文档本身建议不要以这种方式使用它。