Menu
CoddyTech

Birleşim Tipleri (Union Types)

Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 33 / 80.

Bazen tek bir tür yeterli olmaz. Bir kullanıcı kimliği "user123" veya 42 olarak gelebilir. Düz Lua'da en iyisini umarsınız; Luau size birleşim türleri sunar: | dikey çizgisi "veya" anlamına gelir:

local userId: number | string

userId = "user123"  -- ✓ string türüne izin verilir
userId = 42          -- ✓ number türüne izin verilir
userId = true        -- ✗ tür hatası: boolean birleşim türünde yer almıyor

Değişken birleşimdeki üyelerden herhangi birini tutabilir ve yalnızca bunları tutabilir. any türünden temel farkı budur: Birleşim, ihtiyacınız olan esnekliği sağlarken nelerin kullanılabileceği konusunda katı kalır.

Birleşimler, birden fazla girdi biçimini kabul eden işlev parametreleri için özellikle kullanışlıdır:

function printId(id: number | string): ()
    print(id)
end

printId(42)          -- bir sayıyla çalışır
printId("user123")   -- bir dizeyle çalışır

string? türünü zaten biliyorsunuz. Bu, ilk birleşiminizdi! string | nil ifadesinin kısa yazımıdır. Bir sonraki derste, birleşim değerine sahip olduğunuzda bu değerle güvenli bir şekilde nasıl çalışacağınızı öğreneceksiniz.

challenge icon

Görev

Kolay

Sayı veya metin olan bir değeri kabul et.

  1. id değerini yazdıran local function printId(id: number | string): () yaz.
  2. local status: string | number = "active" tanımla.
  3. printId(7) ve printId("player7") çağır, ardından status = 200 olarak ayarla ve yazdır.

Kodu Çalıştır düğmesine bas: çıktı 7, player7 ve 200 değerlerini gösterir.

Kendin dene

-- 1) printId(id: number | string): ()
-- 2) local status: string | number = "active"
-- 3) printId(7) ve printId("player7") fonksiyonlarını çağır, status değerini 200 olarak ayarla ve yazdır

Luau'ya Giriş bölümündeki tüm dersler

Kendi başına pratik yap: Online Luau derleyicisi