Postępując this guide stworzyłem projekt cargoJak dołączyć moduł z innego pliku z tego samego projektu?
src/main.rs
fn main() {
hello::print_hello();
}
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
które pracuje z wykorzystaniem
cargo build && cargo run
i kompiluje bez błędów. Teraz próbuję podzielić główny moduł na dwie części, ale nie mogę wymyślić, jak dołączyć moduł z innego pliku.
Moje drzewo projekt wygląda tak
├── src
├── hello.rs
└── main.rs
i zawartości plików:
src/main.rs
use hello;
fn main() {
hello::print_hello();
}
src/hello.rs
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
Kiedy kompiluję go z cargo build
uzyskać
modules/src/main.rs:1:5: 1:10 error: unresolved import (maybe you meant `hello::*`?)
modules/src/main.rs:1 use hello;
^~~~~
error: aborting due to previous error
Could not compile `modules`.
Starałem się śledzić propozycje kompilator i zmodyfikowane main.rs do
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
ale to nadal nie pomogło, teraz mogę to
modules/src/main.rs:3:1: 3:20 error: can't find crate for `hello`
modules/src/main.rs:3 extern crate hello;
^~~~~~~~~~~~~~~~~~~
error: aborting due to previous error
Could not compile `modules`.
Czy istnieje prosty przykład włączenia jednego modułu z bieżącego projektu do głównego pliku projektu?
Ponadto używam Rust 0.13.0-nightly i ładunek 0.0.1-pre-nightly.
możliwe duplikat [PODSTAWOWE importu Rust (zawiera)] (http://stackoverflow.com/questions/26224947/rust-basic-imports-includes) – Levans
Związane z http://stackoverflow.com/questions/22596920/split-a-module-across-several-files – Kelvin