🦀 مرجع Rust بالعربي
كل كلمة مفتاحية ونوع قياسي في Rust بالعربي: ماذا يفعل، صياغته، مثال يوضّحه، وأشهر الأخطاء — لغة مُترجَمة فلا يوجد تشغيل حي في المتصفح. حاليًا 11 عنصر — والقائمة تكبر.
أساسيات اللغة
let / mut
ربط المتغيّرات
let يربط اسمًا بقيمة، وهي ثابتة (immutable) افتراضيًا في Rust؛ أضِف mut صراحةً لتسمح بتغييرها لاحقًا.
struct
الهياكل
struct يجمّع عدّة قيم مرتبطة تحت نوع واحد بحقول مسمّاة، وهو الأساس لبناء بيانات مخصّصة في Rust.
enum
التعدادات
enum يعرّف نوعًا بمجموعة متغيّرات محدودة، وقد يحمل كل متغيّر بياناته الخاصة — أقوى بكثير من تعدادات اللغات الأخرى.
impl
كتلة التنفيذ
impl تربط الدوال (methods) بهيكل أو تعداد معيّن، أو تنفّذ سمة (trait) عليه — هي مكان كتابة سلوك الأنواع.
trait
السمات
trait يعرّف سلوكًا مشتركًا يمكن لأنواع مختلفة تنفيذه، وهو بديل Rust عن الواجهات (interfaces) في لغات أخرى.
match
مطابقة الأنماط
match يقارن قيمة بمجموعة أنماط ويشغّل الفرع المطابق، ويجبرك المترجم على تغطية كل الاحتمالات الممكنة.
#[derive(...)]
الاشتقاق التلقائي
#[derive(...)] يولّد تلقائيًا تنفيذ سمات قياسية شائعة (مثل Debug وClone) لهيكل أو تعداد، دون كتابة الكود يدويًا.
المكتبة القياسية
Option<T> / Result<T, E>
التعامل مع الغياب والأخطاء
Option<T> تمثّل قيمة قد تكون موجودة أو غائبة، وResult<T, E> تمثّل عملية قد تنجح أو تفشل — بدون null وبدون استثناءات.
Vec<T>
المتّجه (القائمة الديناميكية)
Vec<T> قائمة ديناميكية الحجم تُخزَّن عناصرها متجاورة على الكومة، وهي الحاوية الأشهر والأكثر استخدامًا في Rust.
String / &str
النصوص
String نص قابل للتعديل ومملوك على الكومة، وstr شريحة نصّية غير مملوكة — التمييز بينهما أساسي جدًا في Rust.
HashMap<K, V>
الخريطة التجزيئية
HashMap<K, V> تخزّن أزواج مفتاح-قيمة وتتيح بحثًا واسترجاعًا سريعَين تقريبًا بزمن ثابت O(1) في المتوسط.
🎓 تريد التعلم بالترتيب بدل المرجع السريع؟ ابدأ من مسار RUST الكامل بالعربي.