Map Bildirimi ve Map'lere Erişim
Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası — ders 16 / 73.
Tür korumalı (typed) bir map bildirmek, her zaman yazdığınız tablo oluşturucularına benzer — tür açıklaması yalnızca key ve value türlerini sabitler:
local stock: {[string]: number} = {apples = 12, bananas = 5}Okuma ve yazma işlemleri bildiğiniz indekslemeyi kullanır. Geçerli tanımlayıcı olan anahtarlar için stock.apples ve stock["apples"] aynı girdiye erişir; köşeli parantez formu ayrıca boşluk içeren anahtarları veya değişkenlerde saklananları da işler:
stock["cherries"] = 20 -- yeni bir girdi ekle
stock.bananas = 8 -- mevcut olanı güncelle
print(stock["apples"]) -- 12
print(stock["plums"]) -- nil — hiç ayarlanmadıTür denetleyicisi her yazma işlemini izler: stock["apples"] = "many" hatası verilir çünkü "many" bir number değildir ve bir number'ı anahtar olarak kullanmak hata verir çünkü anahtarlar string olmalıdır.
Bir girdiyi silmek için anahtarına nil atayın — stock["bananas"] = nil onu tamamen kaldırır ve daha sonraki okumalar nil verir. Ayrı bir silme işlevi yoktur; bu standart Lua kullanımıdır ve bir map üzerinde tür denetiminden geçmeye devam eder.
Görev
Kolayapples = 12 ve bananas = 5 değerleri ile başlatılmış bir stock: {[string]: number} tipli map oluşturun. Ardından:
20değeriyle yeni bircherriesgirdisi ekleyin (add)bananasdeğerini8olarak güncelleyin (update)
Son olarak, her biri ayrı satırda olacak şekilde şunları yazdırın (print):
applesstoğubananasstoğucherriesstoğuplumsstoğu — hiç tanımlamadığınız birkey
Kendin dene
-- Buraya kod yazın
-- 1) stock'u bildir: {[string]: number} apples = 12, bananas = 5 ile
-- 2) cherries = 20 ekle, bananas'ı 8'e güncelle
-- 3) apples, bananas, cherries, sonra plums 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'ler