Menu
Coddy logo textTech

Karma Biçimli Tablolar

Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 18 / 73.

Diziler tek türden birçok değer barındırır; map'ler ise bir anahtar türü ve bir değer türü barındırır. Ancak en yaygın Lua tablolarınız adlandırılmış alanlar altında türleri karıştırır: dize türünde ada, sayı türünde skora ve boolean türünde bir bayrağa sahip bir oyuncu. Luau bunları bir şekil ile türlendirir: her alanı ve kendi türünü listeleyen bir tablo türü.

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

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

type anahtar kelimesi bir tür takma adı oluşturur: şekil için yeniden kullanılabilir bir ad. Bu yalnızca denetleyici için vardır: çalışma zamanında Point adlı bir değer oluşturulmaz. Alanların her biri farklı bir türe sahip olabilir:

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

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

Şekil bildirildiğinde denetleyici player.score değerinin bir sayı olduğunu bilir ve hataları erkenden bildirir: player.scroe gibi bir yazım hatası (böyle bir alan yoktur) veya player.score = "high" ataması (yanlış tür). İlk izlenim bu: sonraki bir bölüm şekilleri, isteğe bağlı alanları ve yöntemleri çok daha derinlemesine ele alır.

challenge icon

Görev

Kolay

Üç alanlı bir şekil için Player tür takma adını tanımlayın: name: string, score: number ve active: boolean.

local player: Player adına, "Rio" skoruna ve 1500 olarak ayarlanmış active değerine sahip true oluşturun.

Her birini kendi satırında yazdırın:

  1. oyuncunun adı
  2. oyuncunun skoru
  3. oyuncunun active bayrağı
  4. alanlardan dize enterpolasyonuyla oluşturulan tam olarak Rio has 1500 points satırı

Kendin dene

-- Buraya kod yazın
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) oluştur player: Player = {name = "Rio", score = 1500, active = true}
-- 3) print name, score, active, sonra interpolasyonlu özet satırını
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Luau'ya Giriş bölümündeki tüm dersler

Kendi başına pratik yap: Online Lua derleyicisi