Файл модуля в Rust
Когда блок разрастается, его переносят в свой файл. Имя файла совпадает с именем модуля, а в корне крейта оставляют короткую строку, которая говорит компилятору, где искать код.
Сначала содержимое модуля в отдельном файле:
pub fn hello() -> String {
String::from("hi")
}
В корне крейта подключают этот файл и вызывают открытую функцию:
mod greet;
fn main() {
let text = greet::hello();
println!("{}", text);
}
Строка mod greet; не дублирует тело:
она связывает имя greet с файлом
src/greet.rs. Внутри файла модуля
функции пишут без обертки, как будто
они уже лежат внутри блока.
Дан файл модуля:
pub fn title() -> &'static str {
"book"
}
Создайте src/title.rs с этим
текстом и допишите src/main.rs
так, чтобы точка входа вывела результат
title::title.
Дана строка в корне:
mod helper;
Напишите, как должен называться файл
с телом модуля в папке src.
Дан следующий код:
pub fn twice(n: i32) -> i32 {
n * 2
}
Объясните, почему этот текст кладут
в src/math.rs, а не внутрь
блока mod math { ... } в
main.rs.