Mojo Academy · درس

دوال عامة فوق Traits

اكتب دالة واحدة لأنواع متعددة

الدرس 4 من 413 خطوة

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

دالة واحدة، وأنواع كثيرة

تكمن القوة الحقيقية لـ traits في التعليمات البرمجية العامة: اكتب دالة مرة واحدة، وستعمل مع كل نوع ملتزم بها. 🚀

trait بوصفه قيدًا

تستخدم trait بوصفه قيدًا على معامل عام، متعهدًا بأن النوع يملك الدوال التي تستدعيها.

صيغة المعامل العام

داخل الأقواس المربعة تسمّي معامل النوع وtrait الذي يجب أن يستوفيه، ثم تستخدمه مثل أي نوع.

fn announce[T: Greetable](item: T):
    print(item.greet())

استدعاء دوال trait

داخل الدالة، يمكنك استدعاء أي دالة يضمنها trait. فالمترجم يعرف أن greet موجودة في T.

يعمل مع كل نوع ملتزم

مرّر Dog أو Robot إلى الدالة نفسها. فكلاهما ملتزم بـ Greetable، لذا يُقبلان بسلاسة.

announce(Dog("Rex"))
announce(Robot())

تبقى السلامة النوعية

الأنواع العامة ليست بلا قيود. فإذا لم يستوفِ نوع ما القيد، يرفضه المترجم قبل تشغيل البرنامج.

لا تكلفة وقت التشغيل

يخصّص Mojo التعليمات البرمجية العامة في وقت الترجمة، مولّدًا نسخة سريعة لكل نوع. فلا تأتي المرونة على حساب السرعة.

تكرار أقل

من دون الأنواع العامة، ستنسخ دالة لكل نوع. أما قيد trait فيتيح لتعريف واحد خدمة جميع الأنواع، مما يقلل التكرار.

قيود متعددة

يمكن لمعامل أن يتطلب عدة traits في الوقت نفسه، مما يضمن امتلاك النوع كل قدرة تحتاج إليها الدالة.

التصميم حول traits

تطلب واجهات Mojo الجيدة أصغر trait تحتاج إليه. وتبقى الدوال مرنة مع التعبير عن المتطلبات الدقيقة.

الصورة الكاملة

تتحد trait والالتزام والأنواع العامة: عرّف عقدًا، وطبّقه، ثم اكتب دالة واحدة قابلة لإعادة الاستخدام تعمل عليه.

fn print_all[T: Stringable](x: T):
    print(String(x))

تحقق سريع

لماذا تستخدم قيد trait في دالة عامة؟

مراجعة

تعمل الدوال العامة ذات قيد trait مع جميع الأنواع الملتزمة، مع الحفاظ على السلامة النوعية والسرعة. لقد أصبحت تكتب Mojo قابلة لإعادة الاستخدام! 🎉

البدء مجانًا

تعلم Mojo مع معلم ذكاء اصطناعي — مجانًا

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

الدورات
30
الدروس
120

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

هل درس «دوال عامة فوق Traits» مجاني؟

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

ماذا ستتعلم في «دوال عامة فوق Traits»؟

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

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

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

كم من الوقت يستغرق درس «دوال عامة فوق Traits»؟

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

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

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

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

  1. ما هي Trait؟
  2. جعل بنية متوافقة مع Trait
  3. Traits مدمجة مثل Copyable
  4. دوال عامة فوق Traits
← العودة إلى Mojo Academy