Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ملخص: الدوال المعممة

جزء من قسم مقدمة إلى Luau في رحلة Lua على Coddy. الدرس 62 من 73.

challenge icon

التحدي

متوسط

قم بالدمج بين الأسماء المستعارة العامية (generic aliases) والدوال العامية (generic functions) في برنامج واحد.

قم بتحديد اسم مستعار لنوع عام باسم Pair يحتوي على معاملي type هما T و U، ويصف جدولاً يحتوي على:

  • first من النوع T
  • second من النوع U

أنشئ دالة عامة باسم makePair تُعلن عن T و U، وتقبل first: T و second: U، وترجعهما مجمعين في Pair<T, U>.

أنشئ دالة عامة باسم describePair تُعلن عن T و U، وتقبل pair: Pair<T, U>، وترجع النص ({first}, {second}) الذي تم بناؤه باستخدام الاستكمال الداخلي للنصوص (string interpolation) (نوع الإرجاع string).

ثم:

  1. أنشئ playerScore من النوع Pair<string, number> عن طريق استدعاء makePair("<code>Nova", 87)
  2. أنشئ levelDone من النوع Pair<number, boolean> عن طريق استدعاء makePair(3, true)
  3. اطبع playerScore.first
  4. اطبع playerScore.second
  5. اطبع describePair(playerScore)
  6. اطبع describePair(levelDone)
  7. اطبع describePair(makePair("Luau", 2026)) في سطر واحد

جرّب بنفسك

-- اكتب الكود هنا
-- 1) عرّف النوع Pair<T, U> = {first: T, second: U}
-- 2) عرّف makePair<T, U>(first: T, second: U): Pair<T, U>
-- 3) عرّف describePair<T, U>(pair: Pair<T, U>): string
--    تُرجع `({pair.first}, {pair.second})`
-- 4) أنشئ playerScore (النص الدقيق من التعليمات، 87) و levelDone (3, true)،
--    ثم اطبع الأسطر الخمسة المطلوبة

جميع دروس مقدمة إلى Luau

تدرّب بنفسك: مترجم Lua عبر الإنترنت