Menu
CoddyTech

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
end

Parametrenin 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.

challenge icon

Görev

Kolay

Sabit bir tabloyla üç zorluk seviyesi adlandırın.

  1. local Level = {Easy = 1, Normal = 2, Hard = 3} oluşturun.
  2. local function describeLevel(level: number): string yazın; Level.Easy için "Relaxed", Level.Normal için "Standard", aksi hâlde "Brutal" döndürsün.
  3. Önce Level.Hard, ardından describeLevel(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

Kendi başına pratik yap: Online Luau derleyicisi