Literal (Sabit) Tipler
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 35 / 80.
string gibi türler herhangi bir dizgeye izin verir, ancak bazen yalnızca birkaç belirli değer anlamlıdır. Literal tür, değerin kendisini tür olarak kullanır:
local mode: "dark" = "dark" -- yalnızca "dark" dizesine izin verilir
local locked: true = true -- yalnızca true boole değerine izin verilirTek başlarına tek değerli türler yalnızca ilginç bir ayrıntıdır. Birleşimlerle birlikte kullanıldıklarında Luau'nun en kullanışlı araçlarından birine dönüşürler: izin verilen değerlerin sıkı biçimde denetlenen bir kümesine:
type Direction = "north" | "south" | "east" | "west"
type GameState = "menu" | "playing" | "paused" | "gameover"
local move: Direction = "north" -- ✓
local state: GameState = "playing" -- ✓
-- local bad: Direction = "diagonal" -- ✗ tür hatası!Artık "nort" gibi bir yazım hatası ya da "diagonal" gibi geçersiz bir değer, siz düzenleme yaparken yakalanır. Düz bir string kullanıldığında ise değer sorunsuzca geçer ve çalışma zamanında hataya yol açar; tabii fark edecek kadar şanslıysanız.
Literal türler büyük/küçük harfe duyarlıdır ve tam eşleşme gerektirir: "North", "north" ile eşleşmez. Dizge literalleri en yaygın örnektir, ancak boolean ve (Luau'nun daha yeni sürümlerinde) sayı literalleri de aynı şekilde çalışır. Dizge literallerinin birleşiminden oluşan bu kalıp, Luau'nun diğer dillerdeki enum'ların yerini nasıl aldığını da gösterir; bunu ilerleyen bir bölümde göreceksiniz.
Görev
KolayYalnızca dört kesin yön adına izin verin.
type Direction = "north" | "south" | "east" | "west"yazın.local function movePlayer(direction: Direction): stringyazıp`Moving {direction}`döndürün.local playerDirection: Direction = "east"tanımlayın vemovePlayer(playerDirection)çıktısını yazdırın.
Run Code düğmesine basın: çıktı olarak Moving east gösterilir.
Kendin dene
-- 1) type Direction = "north" | "south" | "east" | "west"
-- 2) movePlayer(direction: Direction): string
-- 3) local playerDirection: Direction = "east", ardından hareketi 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ı3Tü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