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

توضيحات أشكال الجداول المضمنة

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

في Lua، كنت تستخدم السجلات table منذ وقت طويل: local user = {name = "Ana", age = 20}. لا شيء يمنعك من كتابة اسم حقل بشكل خاطئ، أو نسيان أحد الحقول، أو تخزين string حيث يجب أن تكون number. لن تعرف ذلك إلا عند تشغيل الكود.

يتيح لك Luau وصف shape الخاص بمثل هذا الجدول مباشرةً في التصريح، مع إدراج كل حقل ونوعه بين الأقواس المعقوفة:

local user: {name: string, age: number} = {
    name = "Ana",
    age = 20,
}

قارن ذلك بأنواع table التي تعرفها بالفعل: يصف {number} مصفوفة، ويصف {[string]: number} خريطةً تحتوي على أي مفاتيح من نوع string. يكون shape أكثر دقة. فهو يسمّي كل حقل على حدة ويمنح كل حقل نوعه الخاص.

بمجرد التصريح عن shape، يتحقق مدقق الأنواع من توافق table معه أثناء التحرير. ويتم الإبلاغ عن الحقل المفقود أو نوع القيمة الخاطئ قبل تشغيل الكود أصلًا:

local user: {name: string, age: number} = {
    name = "Ana",
    age = "twenty", -- ✗ خطأ في النوع: string ليس number
}

وكالعادة، لا تضيف التعليمة التوضيحية أي سلوك أثناء التشغيل: إن table عبارة عن جدول Lua عادي. تُعد أشكال shape المضمّنة مثالية للبنى التي تستخدمها مرة واحدة ولا تخطط لإعادة استخدامها؛ في الدرس التالي ستمنح الأشكال اسمًا.

challenge icon

التحدي

سهل

أنشئ متغيرًا باسم student مع تعليق توضيحي مضمن للبنية يعلن عن:

  • name من النوع string
  • studentId من النوع number
  • isEnrolled من النوع boolean

قم بتهيئته باستخدام name "Sarah Johnson"، وstudentId 12345، وisEnrolled true.

أنشئ متغيرًا ثانيًا باسم course مع تعليق توضيحي مضمن للبنية يعلن عن:

  • title من النوع string
  • credits من النوع number
  • instructor من النوع string

قم بتهيئته باستخدام title "Introduction to Luau"، وcredits 3، وinstructor "Dr. Smith".

اطبع، كل عنصر في سطر خاص به:

  1. name الخاص بـ student
  2. معرّف student
  3. title الخاص بـ course
  4. عدد credits

جرّب بنفسك

-- اكتب الكود هنا
-- 1) صرّح عن student مع تعليق شكل مضمّن
-- 2) صرّح عن course مع تعليق شكل مضمّن
-- 3) اطبع الحقول الأربعة المطلوبة
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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

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