Menu
CoddyTech

الجداول ذات البُنى المختلطة

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

تحتوي المصفوفات على قيم كثيرة من نوع واحد؛ وتحتوي الخرائط على نوع واحد للمفاتيح ونوع واحد للقيم. لكن جداول Lua الأكثر شيوعًا لديك تمزج بين الأنواع في حقول مسماة: لاعب له اسم نصي، ونتيجة رقمية، وعلامة منطقية. يصف Luau أنواعها باستخدام شكل: نوع جدول يسرد كل حقل ونوعه الخاص.

type Point = {x: number, y: number}

local origin: Point = {x = 0, y = 0}
print(origin.x)

تنشئ الكلمة المفتاحية type اسمًا مستعارًا لنوع: اسمًا قابلًا لإعادة الاستخدام للشكل. وهو موجود لأداة التحقق فقط: فلا تُنشأ أي قيمة أثناء التشغيل باسم Point. ويمكن أن يكون لكل حقل نوع مختلف:

type Player = {name: string, score: number, active: boolean}

local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)

بعد تعريف الشكل، يعرف أداة التحقق أن player.score عدد، وينبّهك إلى الأخطاء مبكرًا: مثل خطأ إملائي كـ player.scroe (فلا يوجد حقل بهذا الاسم)، أو إسناد player.score = "high" (نوع غير صحيح). هذه مجرد لمحة أولى: يتناول فصل لاحق الأشكال والحقول الاختيارية والطرائق بتفصيل أكبر بكثير.

challenge icon

التحدي

سهل

صِف لاعبًا باستخدام نوع شكل.

  1. اكتب type Player = {name: string, score: number, active: boolean}.
  2. أنشئ local player: Player = {name = "Kai", score = 900, active = false}.
  3. اطبع player.active، ثم `{player.name} has {player.score} points`.

اضغط على Run Code: سيعرض الإخراج false وKai has 900 points.

جرّب بنفسك

-- 1) type Player = {...}
-- 2) local player: Player = {...}
-- 3) استخدم print لطباعة قيمة active، ثم سطر الملخص

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

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