دورة تعلم رست (Rust) جدول المحتويات

الدوال المعممة (Generic Functions)

التعميم (generics) في رست (Rust) يعمل جنبًا إلى جنب مع السمات (Traits). عندما نصف نوعًا عن طريق معلمة T، يمكننا تقييد الأنواع التي يمكن استخدامها كوسيطة (argument) من خلال سرد السمات المطلوبة التي يجب على الوسيطة تنفيذها.

في هذا المثال، يجب على النوع T تنفيذ السمة Foo:

fn my_function<T>(foo: T)
where
    T:Foo
{
    ...
}

باستخدام التعميم(generics)، نقوم بإنشاء دوال مكتوبة ساكنة (static typed functions) في وقت الترجمة (compile time) والتي سيكون لها أنواع وأحجام معروفة، مما يسمح لنا بإجراء إرسال ساكن (static dispatch) والتخزين كقيمة ذات حجم.