Menu
Coddy logo textTech

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.

challenge icon

Görev

Kolay

apples = 12 ve bananas = 5 değerleri ile başlatılmış bir stock: {[string]: number} tipli map oluşturun. Ardından:

  1. 20 değeriyle yeni bir cherries girdisi ekleyin (add)
  2. bananas değerini 8 olarak güncelleyin (update)

Son olarak, her biri ayrı satırda olacak şekilde şunları yazdırın (print):

  1. apples stoğu
  2. bananas stoğu
  3. cherries stoğu
  4. plums stoğu — hiç tanımlamadığınız bir key

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
quiz iconKendini test et

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