Tablolar ile Sayısal Enum'lar
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 56 / 80.
İşte sabit tablo düzeninin tamamı. PascalCase biçiminde bir tablo adı seç, her üyeye açıkça bir sayı ver ve bundan sonra kod adlarla ifade edilir:
local UserRole = {
Admin = 1,
Editor = 2,
Viewer = 3,
}TypeScript'in enum yapısından farklı olarak, sayılar otomatik atanmaz. Her değeri sen seçersin. 1 ile başlamak Lua'nın kurallarına oldukça uygundur, ancak her türlü düzen işe yarar (200 ve 404 gibi HTTP tarzı kodlar da uygundur).
Üyeler karşılaştırmalarda öne çıkar. Rol alan bir işlev, düz sayılar yerine adlandırılmış sabitleri kullanarak dallanabilir:
local function checkPermissions(role: number)
if role == UserRole.Admin then
print("Full access granted")
elseif role == UserRole.Editor then
print("Edit access granted")
else
print("View access only")
end
endParametrenin number türünde olduğuna dikkat et: yalnızca tablo düzeni, hangi sayıların kullanılabileceğini kısıtlamaz. Bu garantiyi bir sonraki derste literal birleşimleri sağlar.
Görev
KolaySabit bir tabloyla üç zorluk seviyesi adlandırın.
local Level = {Easy = 1, Normal = 2, Hard = 3}oluşturun.local function describeLevel(level: number): stringyazın;Level.Easyiçin"Relaxed",Level.Normaliçin"Standard", aksi hâlde"Brutal"döndürsün.- Önce
Level.Hard, ardındandescribeLevel(Level.Normal)değerini yazdırın.
Kodu çalıştır düğmesine basın: çıktıda 3 ve Standard görünür.
Kendin dene
-- 1) Level sabit tablosu (Easy = 1, Normal = 2, Hard = 3)
-- 2) if/elseif/else kullanan describeLevel(level: number): string
-- 3) Önce Level.Hard değerini, ardından describeLevel(Level.Normal) sonucunu yazdır
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ışma
Parametreleri ve Dönüş Değerlerini Tür BelirtmeAnonim Fonksiyonları Tür BelirtmeDeğer Döndürmeyen Fonksiyonlarİsteğe Bağlı ParametrelerVarsayılan Parametre DeğerleriBoolean Değerler için VarsayılanlarDeğişken Sayıda Parametre Alan FonksiyonlarFonksiyon Türlerini TanımlamaTekrar: Tür Belirtilmiş Fonksiyonlar2Temel Türler
Number, String ve Boolean'any' Türü: Kaçış Yolu'unknown' TürüNil ve İsteğe Bağlı TürlerTür Çıkarımı UygulamadaAçık Tür Ek AçıklamalarıTekrar: Temel Türler Alıştırması5Diğ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öntemi3Türlenmiş Tablolar: Diziler ve Map’ler
Türlenmiş DizilerÖğe Ekleme ve OkumaMap Türü Nedir?Map’leri Tanımlama ve ErişmeTablolar Üzerinde YinelemeKarma Şekilli TablolarBir Izgarayı OkumaBir Izgara Oluşturmatable.unpackÖzet: Diziler ve Map’lerKendi başına pratik yap: Online Luau derleyicisi