Birlik Olarak Metin Enum'ları
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 57 / 80.
Sayılar günlükleri anlaşılması güç hâle getirir: 2 görmek pek bir şey anlatmazken "down" görmek her şeyi anlatır. Okunabilir enum'lar için Luau'nun literal birleşim türleri kullanılabilir: üyeleri tam olarak belirli dizelerden oluşan bir tür:
type Direction = "up" | "down" | "left" | "right"
local facing: Direction = "up" -- ✓
local typo: Direction = "upp" -- ✗ düzenleme sırasında tür hatasıDirection türüyle açıklama eklenmiş bir değişken bu dört dizeyi tutabilir, başka hiçbir şeyi tutamaz. Birini yanlış yazarsan denetleyici bunu anında yakalar: hata hiçbir zaman oyuncuya ulaşmaz.
Çalışma zamanında bu değerler yalın dizelerdir. Bunları yazdırabilir, birleştirebilir ve == ile karşılaştırabilirsin. Dizeler hakkında bildiğin her şey burada da geçerlidir:
print(facing) -- yukarı
print(`facing {facing}`) -- facing yukarıArtık elinde olan iki kalıbı karşılaştır: sabit tablosu, üyeleri tutan tek bir çalışma zamanı değeri (UserRole) oluştururken literal birleşim hiç değer oluşturmaz. Bir Direction tablosu yoktur; yalnızca hangi dizelerin uygun olduğunu denetleyicinin uyguladığı bir kural vardır. Açıklayıcı, kendi kendini belgeleyen değerler sunmaları ve çalışma zamanında sıfır maliyet getirmeleri, literal birleşimleri Luau kodunda enum kullanmanın başlıca yolu hâline getirir.
Görev
KolayYalnızca dört addan biri olabilen bir yön sakla.
type Direction = "up" | "down" | "left" | "right"yaz.local facing: Direction = "left"tanımla.- Önce
facing, ardından`The player moves {facing}`değerini yazdır.
Run Code düğmesine bas: çıktıda left ve The player moves left görünür.
Kendin dene
-- 1) Direction türünü dört string değerinin birleşimi olarak tanımla
-- 2) local facing: Direction = "left"
-- 3) facing değerini, ardından cümleyi 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