25

これが私のディレクトリ構造です:

lowks@lowkster ~/src/rustlang/gettingrusty $ tree .
.
├── Cargo.lock
├── Cargo.toml
├── foo.txt
├── src
│   ├── boolean_example.rs
│   ├── function_goodbye_world.rs
│   ├── listdir.rs
│   ├── looping.rs
│   ├── main.rs
│   ├── pattern_match.rs
│   └── write_to_file.rs
└── target
    ├── build
    ├── deps
    ├── examples
    ├── gettingrusty
    └── native

6 directories, 11 files

「cargo build」を実行すると、ビルドのみのようmain.rsです。Cargo.toml を変更して、残りのファイルもビルドするにはどうすればよいですか?

4

3 に答える 3

13

Rust コンパイラは、すべてのファイルを同時にコンパイルして、実行可能ファイルまたはライブラリのいずれかであるcrateを構築します。クレートにファイルを追加するには、modアイテムをクレート ルート (ここでは main.rs) または他のモジュールに追加します。

mod boolean_example;
mod function_goodbye_world;
mod listdir;
mod looping;
mod pattern_match;
mod write_to_file;

クレートルートから別のモジュールで定義されたアイテムにアクセスするには、そのアイテムをモジュール名で修飾する必要があります。たとえばfoo、 moduleloopingで名前が付けられた関数がある場合、それを として参照する必要がありますlooping::foo

useモジュールのスコープに名前をインポートするためのステートメントを追加することもできます。たとえば、 を追加すると、を参照するためにuse looping::foo;使用できます。foolooping::foo

詳細については、Rust プログラミング言語でモジュールを別のファイルに分割する を参照してください。

于 2014-12-23T04:06:52.693 に答える