دورة تعلم رست (Rust)
الدروس
مرحبا بالعالم!
الفصل 1 - الأساسيات
أداة أرضية تشغيل رست (The Rust Playground)
المتغيرات
تغيير قيم المتغيرات
الأنواع الأساسية
تحويل الأنواع الأساسية
الثوابت (Constants)
المصفوفات (Arrays)
الدوال (Functions)
إرجاع قيم عديدة
إرجاع لاشء
الفصل 1 - الخلاصة
الفصل 2 - بنى التحكم الأساسية (Basic Control Flow)
إذا / غير ذلك (if/else)
الحلقة (loop)
طالما (while)
مِنْ أجْلِ (for)
مُطابقة (match)
إرجاع قيم من الحلقات (loop)
إرجاع قيم من كتلة التعبيرات (Block Expressions)
الفصل 2 - الخلاصة
الفصل 3 - أنواع هياكل البيانات الأساسية
الهياكل (Structures)
إستدعاء التوابع (Methods)
الذاكرة (Memory)
إنشاء البيانات في الذاكرة
الهياكل المشابهة للصف (Tuple-like Structs)
الهياكل المشابهة للوحدة (Unit-like Structs)
المعدودات (Enumerations)
المعدودات ببيانات (Enumerations With Data)
الفصل 3 - الخلاصة
الفصل 4 - الأنواع المعممة (Generic types)
ما هي الأنواع المعممة (Generic types)؟
تمثيل لا شيء
الخيار (Option)
النتيجة (Result)
الدالة الرئيسية القابلة للخطأ (Fallible Main)
التعال مع الأخطاء بطريقة سلسة (Graceful Error Handling)
التعامل مع الخيار/النتيجة بطرية ملتوية (Ugly Option/Result Handling)
المتجهات (Vectors)
الفصل 4 - الخلاصة
الفصل 5 - ملكية وإستعارة البيانات (Ownership & Borrowing Data)
الملكية (Ownership)
إدرارة الموارد على أساس النطاق (Scope-Based Resource Management)
الاسقاط يكون هرمي (Dropping is Hierarchical)
نقل الملكية (Moving Ownership)
إرجاع الملكية (Returning Ownership)
إستعارة الملكية عن طريق المراجع (Borrowing Ownership with References)
إستعارة ملكية قابلة للتغيير عن طريق المراجع (Borrowing Mutable Ownership with References)
إلغاء المرجعية (Dereferencing)
تمرير البيانات المستعارة (Passing Around Borrowed Data)
مراجع المراجع (References Of References)
العمر الصريح (Explicit Lifetimes)
أعمار متعددة (Multiple Lifetimes)
الأعمارة الساكنة (Static Lifetimes)
الأعمار في أنواع البيانات (Lifetimes In Data Types)
الفصل 5 - الخلاصة
الفصل 6 - النص
السلاسل النصية الحرفية (String Literals)
ماهو utf-8
أحرف الهروب (Escaping Characters)
السلاسل النصية الحرفية متعددة الأسطر (Multi-line String Literals)
السلاسل النصية الحرفية الخام (Raw String Literals)
السلاسل النصية الحرفية من ملفات (String Literals From Files)
شريحة سلسلة نصية (String Slice)
الحرف (Chars)
السلسلة النصية (String)
النص كمعلمات دالة (Text As Function Parameters)
بناء السلاسل النصية (Building Strings)
تنسيق السلاسل النصية (Formatting Strings)
تحويل السلاسل النصية (Converting Strings)
الفصل 6 - الخلاصة
الفصل 7 - البرمجة كائنية التوجه (Object Oriented Programming)
ماهي البرمجة كائنية التوجه (OOP)؟
رست (Rust) ليست OOP
التغليف بالتوابع (Encapsulation With Methods)
التجريد بالعرض الإنتقائي (Abstraction With Selective Exposure)
تعدد الأشكال باستخدام السمات (Polymorphism With Traits)
التوابع المنفذة في السمات (Implemented Methods On Traits)
وراثة السمات (Trait Inheritance)
الإرسال الحيوي والساكن (Dynamic vs Static Dispatch)
كائنات السمة (Trait Objects)
التعامل مع البيانات غير المحجمة (Handling Unsized Data)
الدوال المعممة (Generic Functions)
دالة معممة مختصرة (Generic Function Shorthand)
العلبة (Box)
مراجعة للهياكل المعممة (Generic Structs Revisited)
الفصل 7 - الخلاصة
الفصل 8 - المؤشرات الذكية (Smart Pointers)
مراجعة لمفهوم المراجع (References Revisited)
المؤشرات الخام (Raw Pointers)
الوصول لمحتويات المؤشر (Dereferencing)
العامل *
العامل .
المؤشرات الذكية (Smart Pointers)
التعليمة البرمجية الذكية غير آمن (Smart Unsafe Code)
أصدقاء مألوفون
ذاكرة الكومة المخصصة (Heap Allocated Memory)
مراجعة الدالة الرئيسية القابلة للفشل (Failable Main Revisited)
عد المراجع (Referencing Counting)
مشاركة الوصول (Sharing Access)
المشاركة عبر الخيوط (Sharing Across Threads)
الجمع بين المؤشرات الذكية (Combining Smart Pointers)
الفصل 8 - الخلاصة
الفصل 9 - تنظيم وهيكلة المشروع
الوحدات (Modules)
كتابة برنامج (Writing a Program)
كتابة مكتبة (Writing a Library)
الإشارة إلى وحدات وصناديق أخرى (Referencing Other Modules and Crates)
الإشارة لعدة عناصر (Referencing Multiple Items)
إنشاء وحدات (Creating Modules)
التسلسل الهرمي للوحدة (Module Hierarchy)
الوحدة المضمنة (Inline Module)
الإشارة إلى وحدة داخلية (Internal Module Referencing)
التصدير (Exporting)
كشف الهيكل (Structure Visibility)
التمهيد (Prelude)
تمهيدك الخاص (Your Own Prelude)
الفصل 9 - الخلاصة
الفصل 10 - النهاية