عامل Cascade (..)
سلسِل الاستدعاءات على كائن واحد
عامل Cascade (..) درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.
مشكلة التكرار
عند إعداد كائن واحد، غالبًا ما تكررون اسمه في كل سطر. تتيح لكم cascade في Dart تجنب هذا التكرار والتركيز على العمل.
تعرّفوا إلى النقطتين
إن cascade operator عبارة عن نقطتين، تُكتبان كنقطتين متتاليتين. وتشغّل دالة أو تضبط حقلًا في كائن من دون إنهاء السلسلة.
var b = StringBuffer()
..write('Hi')
..write('!');يعيد الكائن نفسه
إليكم الفكرة المهمة: تعيد cascade الكائن الأصلي دائمًا، لا ناتج الدالة. لذلك يمكنكم مواصلة السلسلة مهما أردتم.
ضبط الحقول باستخدام Cascades
يمكنكم أيضًا assign fields من خلال cascade، وليس استدعاء الدوال فقط. يضبط كل سطر جزءًا إضافيًا من الكائن الجديد نفسه.
var p = Paint()
..color = blue
..width = 4;قبل استخدام Cascades
من دون Cascades، تسندون الكائن إلى متغير، ثم تذكرون ذلك variable في كل سطر. ينجح الأمر، لكنه يضيف ضوضاء غير ضرورية.
var b = StringBuffer();
b.write('a');
b.write('b');بعد استخدام Cascades
باستخدام Cascades، يصبح الإعداد نفسه expression واحدًا مرتبًا. يُذكر اسم الكائن مرة واحدة، وتتفرع منه كل خطوة. ✨
var b = StringBuffer()
..write('a')
..write('b');Cascades عبارة عن Expression
بما أن السلسلة بأكملها تمثل expression واحدًا، يمكنكم إسنادها مباشرةً إلى متغير. ويصبح الكائن المُعد جاهزًا للاستخدام.
الخلط بين الاستدعاءات والإسنادات
يمكنكم بحرية mix بين استدعاءات الدوال وإسنادات الحقول في cascade واحدة. يطبق Dart كل سطر على الكائن نفسه، من الأعلى إلى الأسفل.
var list = []
..add(1)
..length;انتبهوا إلى الفاصلة المنقوطة
تظل سلسلة cascade عبارة عن تعليمة واحدة، لذلك توضع semicolon في النهاية فقط. ووضعها في منتصف السلسلة يقسمها إلى سلسلتين.
متى تتألق Cascades
تُعد Cascades مثالية لـbuilders وكائنات الإعداد، مثل StringBuffer أو عنصر Flutter الذي يحتاج إلى عدة تعديلات سريعة.
Cascade مقابل سلسلة الدوال
تحتاج السلسلة العادية إلى أن تعيد كل دالة الكائن المناسب. أما cascade فلا تهتم بما تعيده الدوال، لأنها تعيد الكائن الأصلي دائمًا.
تحقق سريع
ماذا يعيد cascade operator؟
مراجعة
تضبط cascade (..) كائنًا واحدًا عبر عدة أسطر، وتعيد ذلك الكائن، وتنتهي بفاصلة منقوطة واحدة. إعداد أوضح وتكرار أقل. 🎯
الأسئلة الشائعة
هل درس «عامل Cascade (..)» مجاني؟
نعم — نص درس «عامل Cascade (..)» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماذا ستتعلم في «عامل Cascade (..)»؟
سلسِل الاستدعاءات على كائن واحد تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟
لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «عامل Cascade (..)»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟
نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.