問題のドメインに応じて別々のディレクトリにファイルを整理することに慣れています(たとえば、画像処理のまとめ、別のディレクトリのIOなど)。この方法や組織がRustでも推奨されるかどうかはわかりません。私はmain.rs
複数のディレクトリで錆コードを整理するときに未解決のインポート
one.rs
fn test() {
println!("Calling test...");
}
メインにone.rs
から関数を使用しようとしています
- helloworld
- Cargo.toml
- src
- main.rs
- test
- one.rs
:
は私が複数のディレクトリでの私のプロジェクトのセットアップを持っています。 rs
use test::one::*;
fn main() {
println!("Hello, world!");
test();
}
これは、コンパイル時にエラーが発生:
error[E0432]: unresolved import `test::one::*`
--> src/main.rs:1:5
|
1 | use test::one::*;
| ^^^^^^^^^^^^^ Maybe a missing `extern crate test;`?
error[E0425]: cannot find function `test` in this scope
--> src/main.rs:6:5
|
6 | test();
| ^^^^ not found in this scope
は、いくつかのオンラインプロジェクトを見ると、可能なはずである。このようなことのように思えます。
追加のファイルを作成し、その後
そして、 *錆プログラミング言語*](https://doc.rust-lang.org/stable/book/secondedition/)。それは[モジュールがファイルシステム上でどう生きるかに関するセクション全体]を持っています(https://doc.rust-lang.org/stable/book/secondedition/ch07-01-mod-and-the-filesystem.html)。 – Shepmaster
[錆の本の「モジュール」の章](https://doc.rust-lang.org/book/second-edition/ch07-00-modules.html)を読んでいますか?モジュールシステム全体を理解するために、すべてを読むことをお勧めします。 tl; drは: 'mod'宣言が必要です。 [こちらも参照](https://stackoverflow.com/a/43262123/2408867)。興味がある場合:これは将来変更される可能性があります.Rustのモジュールをどのように再設計するかについて多くの議論があります。 –
ありがとうございます。私はちょうどそれを使用して、オンラインブックを見始めた。ちょっと先に飛び込んでいたのですが – Luca