Birleşim Tipleri (Union Types)
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 31 / 73.
Bazen tek bir tür yeterli olmaz. Bir kullanıcı kimliği "user123" veya 42 olarak gelebilir. Düz Lua'da yalnızca en iyisini umardınız; Luau size birleşim türleri sunar: dikey çizgi | “veya” anlamına gelir:
local userId: number | string
userId = "user123" -- ✓ bir string'e izin verilir
userId = 42 -- ✓ bir number'a izin verilir
userId = true -- ✗ tip hatası: boolean union'da değilDeğişken, birleşimin üyelerinden herhangi birini ve yalnızca onları 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ı ile çalışır
printId("user123") -- bir string ile çalışırstring? türünü zaten biliyorsunuz. Bu, ilk birleşiminizdi! Basitçe string | nil ifadesinin kısa yazımıdır. Sonraki derste, bir birleşim değerine sahip olduğunuzda onunla güvenli bir şekilde nasıl çalışacağınızı öğreneceksiniz.
Görev
KolayprintId adlı, id: number | string alan ve bunu yazdıran bir işlev oluştur: açık dönüş türü ().
"<code>active" ile başlatılmış, string | number türünde status adlı bir değişken tanımla.
Ardından, sırayla:
printId(42)çağrısını yapprintId("<code>user123") çağrısını yapstatusdeğerini yazdırstatusdeğerini200olarak yeniden ata ve tekrar yazdır
Toplam dört satır çıktı.
Kendin dene
-- Kodu buraya yaz
-- printId(id: number | string): ()
-- local status: string | number = talimatlardaki tam metin
-- printId(42)'yi çağır, printId(talimatlardaki tam metin),
-- status'u yazdır, 200'e yeniden ata, tekrar yazdır
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ı3Tipli 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