0%
البرمجة الوظيفية على المجموعات — الفصل 14

الفصل 14 — البرمجة الوظيفية على المجموعات

الجزء 1A — تعلّم Dart · الفصل 14 من 62 · 6 ساعات

الفصل 14 — البرمجة الوظيفية على المجموعات

المستوى: متوسط المدة المقدّرة: 6 ساعات المتطلبات المسبقة: الفصل 05 (الحلقات التكرارية)، الفصل 06 (المجموعات)، الفصل 07 (الدوال)، الفصل 13 (الاستثناءات) ما ستتمكن من فعله في نهاية الفصل: تحويل أي قائمة من اللاعبين أو الأعداء أو عناصر المخزون وتصفيتها وترتيبها وتلخيصها في بضعة أسطر تصريحية، دون كتابة أي حلقة for.


14.0 — أهداف الفصل

في نهاية هذا الفصل، ستكون قادرًا على:

  • التمييز بين الأسلوب الأمري (كيف تنفّذ) والأسلوب التصريحي (ماذا تريد أن تحصل عليه)؛
  • كتابة دالة مجهولة ودالة سهمية لتمريرهما إلى إحدى الطرق؛
  • المرور على مجموعة باستخدام forEach()؛
  • تحويل مجموعة باستخدام map()، بما في ذلك تغيير النوع؛
  • شرح ما هو Iterable ولماذا يكون استدعاء toList() إلزاميًا في كثير من الأحيان؛
  • تصفية مجموعة باستخدام where()؛
  • البحث عن عنصر باستخدام firstWhere() وlastWhere() وsingleWhere() وindexWhere()؛
  • الإجابة عن سؤال بنعم أو لا باستخدام any() وevery() وcontains()؛
  • اختزال مجموعة إلى قيمة واحدة باستخدام reduce() وfold()؛
  • الاختيار بين reduce() وfold() عن دراية؛
  • ترتيب قائمة باستخدام sort() وكتابة دالة مقارنة؛
  • استخدام compareTo() مع الأعداد والنصوص؛
  • ترتيب الكائنات حسب النتيجة، ثم حسب الاسم، ثم حسب عدة معايير؛
  • ترتيب نسخة دون تعديل القائمة الأصلية؛
  • تقطيع مجموعة باستخدام take() وskip()؛
  • تسطيح القوائم المتداخلة باستخدام expand()؛
  • إزالة التكرارات باستخدام toSet()؛
  • تجميع مجموعة في نص باستخدام join()؛
  • استخدام عامل الانتشار ... ونسخته القابلة لـ null: ...?؛
  • كتابة if وfor مباشرةً داخل قائمة حرفية؛
  • ربط عدة عمليات في تعبير واحد مقروء؛
  • تحديد متى يكون من الأفضل العودة إلى حلقة for، وذلك بمعايير واضحة.

التعليقات

التعليقات مدعومة عبر GitHub Discussions

سجّل الدخول باستخدام GitHub للمشاركة في النقاش

تم نسخ الرابط!