Avatar ·

كيفية استيراد وحدة من ملف آخر في نفس المشروع بلغة 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`؟ كيف أجعل الدالة مرئية من الوحدات الأخرى؟ وكيف يمكنني هيكلة المشروع بشكل صحيح إذا كان لدي الكثير من الملفات؟