Durch Befolgen dieser Anleitung habe ich ein Frachtprojekt erstellt.
src/main.rs
fn main() {
hello::print_hello();
}
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
was ich benutze mit
cargo build && cargo run
und es kompiliert ohne Fehler. Jetzt versuche ich, das Hauptmodul in zwei Teile zu teilen, kann aber nicht herausfinden, wie ein Modul aus einer anderen Datei eingefügt werden kann.
Mein Projektbaum sieht so aus
├── src
├── hello.rs
└── main.rs
und den Inhalt der Dateien:
src/main.rs
use hello;
fn main() {
hello::print_hello();
}
src/hello.rs
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
Wenn ich es mit kompiliere cargo build
bekomme ich
error[E0432]: unresolved import `hello`
--> src/main.rs:1:5
|
1 | use hello;
| ^^^^^ no `hello` external crate
Ich habe versucht, den Vorschlägen des Compilers zu folgen und habe Folgendes geändert main.rs
:
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
Aber das hilft immer noch nicht viel, jetzt verstehe ich Folgendes:
error[E0463]: can't find crate for `hello`
--> src/main.rs:3:1
|
3 | extern crate hello;
| ^^^^^^^^^^^^^^^^^^^ can't find crate
Gibt es ein triviales Beispiel dafür, wie ein Modul aus dem aktuellen Projekt in die Hauptdatei des Projekts aufgenommen wird?