0Pricing
Dart Academy · درس

الدوال المجهولة والإغلاقات

التقط المتغيرات في الدوال المضمّنة

الدوال المجهولة والإغلاقات درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.

دوال بلا أسماء

أحيانًا تحتاج إلى دالة مرة واحدة ولا تحتاج إليها مجددًا. الدالة المجهولة لا اسم لها، وتُكتب في المكان الذي تستخدمها فيه مباشرةً. ✨

البنية الأساسية

الدالة المجهولة ليست سوى معاملات وجسم، من دون اسم في المقدمة. ويمكنك تخزينها في متغير.

var greet = (String n) {
  print('Hi ' + n);
};

استدعاء الدالة المخزنة

بعد تخزينها، تستدعيها من خلال المتغير كما تستدعي أي دالة مسماة، باستخدام القوسين.

greet('Ada');

تمرير دالة مضمنة واحدة

غالبًا ما تمرر دالة مجهولة مباشرةً إلى أسلوب. وهنا يستدعيها forEach لكل عنصر.

[1, 2, 3].forEach((n) {
  print(n * 2);
});

الدوال السهمية المجهولة

بالنسبة إلى جسم يتكون من تعبير واحد، ادمج الدوال المجهولة مع السهم للحفاظ على الاختصار.

var doubled = [1, 2, 3].map((n) => n * 2);

ما هو الإغلاق؟

الإغلاق هو دالة تتذكر المتغيرات من المكان الذي أُنشئت فيه، حتى بعد انتهاء النطاق الخارجي.

التقاط متغير

تلتقط الدالة الداخلية أدناه المتغير step. وتستمر في استخدام تلك القيمة كلما استدعيت الدالة المُعادة لاحقًا.

Function adder(int step) {
  return (int x) => x + step;
}

كل إغلاق مستقل بذاته

استدعِ المصنع مرتين، وسيحتفظ كل إغلاق مُعاد بقيمة ملتقطة منفصلة. ولن يؤثر أحدهما في الآخر.

var add5 = adder(5);
var add10 = adder(10);

الإغلاقات تحتفظ بالحالة

يمكن أن يتغير المتغير الملتقط بين الاستدعاءات، مما يسمح لـالإغلاق بتذكر التقدم مثل عداد صغير.

int count = 0;
var tick = () => ++count;

لماذا يهم ذلك؟

تعتمد الاستدعاءات الراجعة ومعالجات الأحداث وأساليب القوائم جميعها على الإغلاقات. فهي تتيح لك تجميع السلوك مع البيانات التي يحتاج إليها.

اجعلها صغيرة

تتألق الإغلاقات المضمنة عندما تكون قصيرة. وإذا أصبحت إحداها معقدة، فامنحها اسمًا حقيقيًا ليسهل على الآخرين قراءتها.

تحقق سريع

ما الذي يجعل الدالة إغلاقًا؟

مراجعة

تعرفت إلى الدوال المجهولة للاستخدام لمرة واحدة، وإلى الإغلاقات التي تلتقط المتغيرات المحيطة لتحمل حالتها الخاصة. 🎯

الأسئلة الشائعة

هل درس «الدوال المجهولة والإغلاقات» مجاني؟

نعم — نص درس «الدوال المجهولة والإغلاقات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.

ماذا ستتعلم في «الدوال المجهولة والإغلاقات»؟

التقط المتغيرات في الدوال المضمّنة تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟

لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «الدوال المجهولة والإغلاقات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟

نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. صياغة السهم للدوال ذات السطر الواحد
  2. الدوال المجهولة والإغلاقات
  3. الأنواع القابلة للقيمة الفارغة وعلامة الاستفهام
  4. العوامل الواعية بـnull: ?. و?? و!
← العودة إلى Dart Academy