Seguendo this guide Ho creato un project cargoCome includere il modulo da un altro file dallo stesso progetto?
src/main.rs
fn main() {
hello::print_hello();
}
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
che ho eseguito utilizzando
cargo build && cargo run
e compila senza errori. Ora sto cercando di dividere il modulo principale in due ma non riesco a capire come includere un modulo da un altro file.
mio albero del progetto assomiglia a questo
├── src
├── hello.rs
└── main.rs
e il contenuto dei file:
src/main.rs
use hello;
fn main() {
hello::print_hello();
}
src/hello.rs
mod hello {
pub fn print_hello() {
println!("Hello, world!");
}
}
Quando lo compilo con cargo build
Ottengo
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`.
Ho provato a seguire i suggerimenti del compilatore e main.rs modificati per
#![feature(globs)]
extern crate hello;
use hello::*;
fn main() {
hello::print_hello();
}
ma questo ancora non aiuta molto, ora ho questa
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`.
C'è un banale esempio di come includere un modulo dal progetto corrente nel file principale del progetto?
Inoltre, eseguo Rust 0.13.0-nightly e carico 0.0.1 -prima notte.
possibile duplicato del [Rust importazioni di base (include)] (http://stackoverflow.com/questions/26224947/rust-basic-imports-includes) – Levans
correlati a http://stackoverflow.com/questions/22596920/split-a-module-across-several-files – Kelvin