كيفية استيراد وحدة من ملف آخر في نفس المشروع بلغة Rust؟
لقد بدأت للتو في تعلم Rust وأحاول فهم نظام الوحدات. لدي مشروع بسيط تم إنشاؤه عبر `cargo new my_project`. يحتوي على `src/main.rs` القياسي، حيث وضعت المنطق الرئيسي. لكن الكود أصبح كبيرًا جدًا، وأريد نقل بعض الدوال إلى ملفات منفصلة.
لقد أنشأت ملف `src/math.rs` بدالة بسيطة:
```rust
// src/math.rs
fn add(x: i32, y: i32) -> i32 {
x + y
}
```
الآن أريد استخدام هذه الدالة في `src/main.rs`. جربت كتابة `mod math;` ثم استدعاء `math::add(2, 3)`، لكن المترجم يعطي خطأ: `error[E0603]: function `add` is private`. كما جربت خيارات مختلفة مع `use`، لكن لا شيء يعمل.
قرأت الوثائق، لكنها تبدو معقدة. من فضلك اشرح كيفية تنظيم الكود بشكل صحيح في عدة ملفات؟ ما الخطأ الذي أفعله؟ هل أحتاج إلى تغيير شيء في `Cargo.toml`؟ كيف أجعل الدالة مرئية من الوحدات الأخرى؟ وكيف يمكنني هيكلة المشروع بشكل صحيح إذا كان لدي الكثير من الملفات؟