Luau'da Enum Deseni
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası — ders 51 / 73.
Programlar küçük ve sabit bir kümeden alınan değerlerle doludur: bir sipariş pending, shipped veya delivered durumundadır; bir oyuncu up, down, left veya right yönüne bakar. Çoğu dilde bunun için bir enum anahtar kelimesi bulunur. Luau'da yoktur — ve ihtiyacı da yoktur, çünkü zaten sahip olduğunuz iki araç bu işi görür.
Desen 1: Sabit tablosu. Düz bir tablo, kodun geneline yayılmış "sihirli sayıların" yerini alarak anlamlı isimleri değerlerle eşleştirir:
local Status = {
Pending = 1,
Active = 2,
Done = 3,
}
print(Status.Active) -- 2Bu gerçek bir çalışma zamanı (runtime) değeridir: Status.Active değerini okuyabilir, onunla karşılaştırma yapabilir ve başkalarına iletebilirsiniz — tıpkı başından beri kullandığınız tablolar gibi.
Desen 2: Değişmez birleşim (literal union). Birlikler bölümünde karşılaştığınız değişmez türleri kullanarak tam dize değerlerinden oluşturulmuş bir tür:
type Color = "red" | "green" | "blue"
local favorite: Color = "green" -- ✓
local oops: Color = "yellow" -- ✗ type errorBirleşim yalnızca denetleyici için vardır — sıfır çalışma zamanı maliyeti — ancak bir değişkenin küme dışından hiçbir şey tutamayacağını garanti eder. Bu iki desen birbirini tamamlar: tablo size tek bir isim altında çalışma zamanı değerleri sunar; birleşim ise size bir derleme zamanı garantisi sağlar. Bu bölümün ilerleyen kısımlarında, bir sabit tablosunu çalışma zamanında değiştirilmekten koruyan table.freeze ile de karşılaşacaksınız.
Kendin dene
Bu ders bir kod alıştırması içermiyor.
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ı8Enum'lar: Luau Yöntemi
Luau'da Enum DeseniTablolar ile Sayısal Enum'larBirlik Olarak Metin Enum'larıHarfi Birlik Enum'larını KullanmaSabit Tabloları DondurmaÖzet: Enum'lar, Luau Yöntemi3Tipli 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