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

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

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

challenge icon

التحدي

متوسط

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

قم بتعريف اسم مستعار لنوع عام يسمى Pair بـ معلمتين من معلمات الأنواع (type parameters) هما 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("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 ("Nova", 87) و levelDone (3, true)،
--    ثم اطبع الأسطر الخمسة المطلوبة

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