Menu
CoddyTech

Öğe Ekleme ve Okuma

Coddy'nin Lua Journey'sinin Luau'ya Giriş bölümünün bir parçası. Ders 14 / 80.

Lua tablolarını table.insert ve table.remove ile zaten büyütüp küçültüyorsun: ikisi de tür denetimli dizilerde tamamen aynı şekilde çalışır. Fark şu: Luau artık eklediğin değerleri denetler: bir {number} dizisine dize eklemeye çalıştığında, kafası karışmış bir oyuncu tarafından çalışma zamanında fark edilmek yerine, sen yazarken uyarı verilir.

local queue: {string} = {"save", "load"}
table.insert(queue, "quit")      -- sona ekler
table.insert(queue, 1, "help")   -- geri kalanları kaydırarak 1. konuma ekler
local last = table.remove(queue) -- son öğeyi kaldırır VE döndürür

table.remove(t) son öğeyi çıkarıp sana geri verir; table.remove(t, 1) ilk öğeyi kaldırır ve geri kalan her şeyi bir sıra aşağı kaydırır. Dizi {string} türünde olduğundan Luau, döndürülen değerin bir dize olduğunu bilir.

Okuma da yalın Lua'daki kadar toleranslıdır: hiçbir değer içermeyen bir indeks, queue[0], queue[-1] veya #queue değerinin ötesindeki herhangi bir indeks, sessizce nil olarak değerlendirilir. Hata oluşmaz; bu yüzden var olduğundan emin olmadığın bir değeri kullanmadan önce nil olup olmadığını kontrol et.

challenge icon

Görev

Kolay

Türü belirtilmiş bir hareket listesini genişletip daralt.

  1. local moves: {string} = {"jump", "run"} bildir.
  2. table.insert ile "duck" ekle, ardından "crawl" öğesini 1. konuma ekle.
  3. table.remove(moves) sonucunu local removed içine kaydet, ardından removed, #moves, moves[1] ve moves[10] değerlerini yazdır.

Run Code düğmesine bas: çıktı duck, 3, crawl ve nil değerlerini gösterir.

Kendin dene

-- 1) moves: {string} değişkenini "jump" ve "run" değerleriyle tanımla
-- 2) "duck" değerini sona ekle, "crawl" değerini 1 konumuna ekle
-- 3) son hareketi kaldır, ardından dört değeri yazdır

Luau'ya Giriş bölümündeki tüm dersler

Kendi başına pratik yap: Online Luau derleyicisi