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.
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:
- oyuncunun adı
- oyuncunun skoru
- oyuncunun active bayrağı
- alanlardan dize enterpolasyonuyla oluşturulan tam olarak
Rio has 1500 pointssatı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ı
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
1Luau ile Başlarken
Luau Nedir?Neden Luau Kullanılmalı?İlk Luau KodunuzTip Denetimi ve Hata ModlarıÖzet: Luau'ya Giriş4Fonksiyonlarla Çalışmak
Parametreleri ve Geri Dönüş Değerlerini TiplendirmeAnonim Fonksiyonları TiplendirmeHiçbir Şey Döndürmeyen Fonksiyonlarİsteğe Bağlı ParametrelerVarsayılan Parametre DeğerleriDeğişken Sayıda Parametre Alan Fonksiyonlar (Variadic)Fonksiyon Tiplerini TanımlamaÖzet: Tiplendirilmiş Fonksiyonlar2Temel Tipler
Temel Tipler: num, str, bool'any' Tipi: Kaçış Yolu'unknown' TipiNil ve İsteğe Bağlı (Optional) TiplerUygulamada Tip ÇıkarımıAçık Tip BelirteçleriÖzet: Temel Tipler Pratiği5Diğer Adlar (Aliases), Birleşimler, Kesişimler
İlkel Tipler için Tip Diğer Adları (Type Aliases)Birleşim Tipleri (Union Types)Birleşim Tipleri ile ÇalışmakLiteral (Sabit) TiplerKesişim Tipleri (Intersection Types)Tip Diğer Adlarını BirleştirmeÖzet: Gelişmiş Tip Kombinasyonları3Tipli Tablolar: Diziler ve Map'ler
Tipli DizilerEleman Ekleme ve OkumaMap Tipi Nedir?Map Bildirimi ve Map'lere ErişimTablolar Üzerinde YinelemeKarma Biçimli TablolarÇok Boyutlu Tipli Dizilertable.unpack ve VarargsÖzet: Diziler ve Map'lerKendi başına pratik yap: Online Lua derleyicisi