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 belirtilmiş bir map tanımlamak, her zaman yazdığın tablo oluşturucularına benzer: ek açıklama yalnızca anahtar ve değer türlerini netleştirir:
local stock: {[string]: number} = {apples = 12, bananas = 5}Okuma ve yazma bildiğin indekslemeyi kullanır. Geçerli tanımlayıcılar olan anahtarlar için stock.apples ve stock["apples"] aynı girdiye ulaşır; köşeli parantez biçimi ayrıca boşluk içeren veya değişkenlerde saklanan anahtarları 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" işaretlenir, çünkü "many" bir sayı değildir; ayrıca anahtarlar dize olmak zorunda olduğundan anahtar olarak sayı kullanılması da işaretlenir.
Bir girdiyi silmek için anahtarına nil ata: stock["bananas"] = nil onu tamamen kaldırır ve sonraki okumalar nil verir. Ayrı bir silme işlevi yoktur; bu, standart Lua deyimidir ve bir map üzerinde tür denetiminden geçmeye devam eder.
Görev
Kolayapples = 12 ve bananas = 5 ile başlatılmış, türü belirtilmiş bir stock: {[string]: number} haritası oluştur. Ardından:
20değerine sahip yeni bircherriesgirdisi eklebananasdeğerini8olarak güncelle
Son olarak, her birini kendi satırında yazdır:
applesstoğunubananasstoğunucherriesstoğunu- hiç ayarlamadığın bir anahtar olan
plumsstoğunu
Kendin dene
-- Kodu buraya yaz
-- 1) stock: {[string]: number} bildir, apples = 12, bananas = 5 ile
-- 2) cherries = 20 ekle, bananas değerini 8 yap
-- 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'lerKendi başına pratik yap: Online Lua derleyicisi