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 אונליין