我有一个练习库来学习 Rust。这个库提供了两种方法:
- 核心方法应该在一个名为renderay_core.rs的文件中。
- 使用核心方法的形状方法具有更高的抽象/更具体的核心方法实现;“常用”案例的便捷方法。这些应该在一个名为renderay_shapes.rs的文件中。
我还希望将单元测试作为子模块包含在其中。
我想到了类似的东西:
- renderay.rs是库源
[lib] path="src/renderay.rs"
- renderay_core.rs是一个模块,它作为 public(?) 加载到renderay.rs中以产生其 API
- renderay_shapes.rs也是 renderay.rs 中的一个模块,但也将 renderay_core.rs 导入其核心API
如果我将此 crate 作为依赖项加载,我希望renderay_core.rs和renderay_shapes.rs的 API可用。
我确信这是一项微不足道的任务,但我很难理解来自 Java 和 C 的模块机制。我已经阅读了crates 和模块文档。如何设置这样的结构并成功编译?