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 bir türden birçok değer tutar; eşlemeler bir anahtar türü ve bir değer türü tutar. Ancak en yaygın Lua tablolarınız türleri isimlendirilmiş alanlar altında karıştırır — string bir isme, number bir skora, boolean bir bayrağa sahip bir oyuncu gibi. Luau bunları bir şekil (shape) 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ı (type alias) oluşturur — şekil için yeniden kullanılabilir bir isim. Sadece denetleyici için mevcuttur: çalışma zamanında Point adında hiç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 işaretler: player.scroe gibi bir yazım hatası (böyle bir alan yok) veya player.score = "high" ataması (yanlış tür). Bu sadece bir ön izlemedir — sonraki bir bölümde şekiller, isteğe bağlı alanlar ve metotlar çok daha derinlemesine incelenecektir.
Görev
KolayÜç alana sahip bir shape için bir Player tür takma adı (type alias) tanımlayın: name: string, score: number ve active: boolean.
name değeri "Rio", score değeri 1500 ve active değeri true olan bir local player: Player oluşturun.
Her biri kendi satırında olacak şekilde şunları yazdırın:
- oyuncunun adı
- oyuncunun puanı
- oyuncunun aktiflik durumu (active flag)
- alanlardan dize ekleme (string interpolation) kullanılarak oluşturulmuş tam olarak şu satır:
Rio has 1500 points
Kendin dene
-- Buraya kod yazın
-- 1) tip Player = {name: string, score: number, active: boolean}
-- 2) player oluştur: Player = {name = "Rio", score = 1500, active = true}
-- 3) name, score, active yazdır, 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'ler