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ş beklemede, gönderildi veya teslim edildi durumundadır; bir oyuncu yukarı, aşağı, sola veya sağa bakar. Birçok dilde bunun için bir enum anahtar sözcüğü bulunur. Luau'da yoktur ve buna ihtiyacı da yoktur, çünkü zaten sahip olduğunuz iki araç bu işi karşılar.
Desen 1: sabit tablo. Düz bir tablo, anlamlı adları değerlere eşleyerek kodun farklı yerlerine dağılmış "sihirli sayılar"ın yerini alır:
local Status = {
Pending = 1,
Active = 2,
Done = 3,
}
print(Status.Active) -- 2Bu gerçek bir çalışma zamanı değeridir: Status.Active değerini okuyabilir, bununla karşılaştırma yapabilir ve şimdiye kadar kullandığınız tablolar gibi onu başka yerlere aktarabilirsiniz.
Desen 2: sabit değer birleşimi. Birleşimler bölümünde karşılaştığınız sabit türleri kullanarak, tam dize değerlerinden oluşan 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 ve çalışma zamanında hiçbir maliyeti yoktur; ancak bir değişkenin kümenin dışında bir değer taşıyamayacağını garanti eder. Bu iki desen birbirini tamamlar: tablo, tek bir ad altında çalışma zamanındaki değerleri sağlar; birleşim ise derleme zamanında bir garanti sunar. Bu bölümün ilerleyen kısımlarında, sabit bir tablonun çalışma zamanında değiştirilmesini engelleyen 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'lerKendi başına pratik yap: Online Lua derleyicisi