Я пытаюсь разбить свою программу на библиотеку, содержащую несколько подмодулей с помощью структур и функций, и основной файл, который использует все это. Я хочу иметь подмодуль, который содержит полезные функции, которые не нужны нигде, кроме других подмодулей. Однако у меня возникают трудности с импортом этого подмодуля в другой. Грузовой проект называется eant_rust. Мои файлы lib.rs и main.rs находятся в каталоге src. У меня есть папка, называемая модулями, из которой импортируется файл lib.rs. Внутри папки модулей находится файл mod.rs, с двумя подмодулями, с которыми я столкнулся.Функции доступа из подмодуля из другого подмодуля
lib.rs:
pub mod modules;
main.rs:
extern crate eant_rust;
fn main() {}
mod.rs (внутри папки модулей с двух суб-модулей):
pub mod network;
функции. rs (один подмодуль):
pub fn reverse() {}
pub fn sum_vec() {}
network.rs (другой):
use modules::functions;
functions::reverse();
functions::sum_vec();
Когда я пытаюсь скомпилировать я получаю следующее сообщение об ошибке: об ошибке: нерешенный импорт modules::functions
. Нет functions
в modules
.
Спасибо, это сработало для меня. Кроме того, чтобы использовать что-либо из модулей, вам не нужно использовать 'pub'? – pengowen123
Нет, если вы находитесь в одном ящике, паб используется для экспорта частей вашего ящика, чтобы другие могли получить к нему доступ. Выезд: https://doc.rust-lang.org/reference.html#visibility-and-privacy – Neikos