كيفية تقسيم وحدة Rust بشكل صحيح إلى عدة ملفات؟
```html
مرحباً بالجميع! لقد بدأت في تعلم Rust وواجهت مشكلة في تنظيم الكود في وحدات. لدي ملف `main.rs`، وقد أعلنت فيه الوحدة `shapes` بهذه الطريقة:
```rust
mod shapes;
fn main() {
let rect = shapes::Rectangle::new(3.0, 4.0);
println!("المساحة: {}", rect.area());
}
```
في `shapes.rs` قمت بتعريف الهياكل والدوال:
```rust
pub struct Rectangle {
width: f64,
height: f64,
}
impl Rectangle {
pub fn new(w: f64, h: f64) -> Rectangle {
Rectangle { width: w, height: h }
}
pub fn area(&self) -> f64 {
self.width * self.height
}
}
```
كل شيء يعمل، لكن الآن أريد إضافة أشكال أخرى: `Circle`، `Triangle`. إذا قمت بوضع كل شيء في ملف `shapes.rs` واحد، سيصبح الملف ضخماً. لقد جربت إنشاء مجلد `shapes/` ووضع `mod.rs`، `rectangle.rs`، `circle.rs` فيه. في `mod.rs` كتبت:
```rust
pub mod rectangle;
pub mod circle;
```
لكن المترجم يعطي أخطاء بأنه لا يمكنه العثور على الأنواع. كيف يمكنني القيام بذلك بشكل صحيح؟
```