Menu
CoddyTech

Dodawanie i odczytywanie elementów

Część sekcji Wprowadzenie do Luau ścieżki Lua w Coddy. Lekcja 14 z 80.

Już wiesz, jak zwiększać i zmniejszać rozmiar tabel Lua za pomocą table.insert i table.remove: obie funkcje działają dokładnie tak samo w przypadku tablic typowanych. Różnica polega na tym, że Luau teraz sprawdza, co wstawiasz: próba dodania ciągu znaków do tablicy {number} zostaje wykryta podczas pisania, zamiast dopiero zaskoczyć zdezorientowanego gracza w trakcie działania programu.

local queue: {string} = {"save", "load"}
table.insert(queue, "quit")      -- dodaj na końcu
table.insert(queue, 1, "help")   -- wstaw na pozycji 1, przesuwając pozostałe elementy
local last = table.remove(queue) -- usuwa ORAZ zwraca ostatni element

table.remove(t) usuwa ostatni element i zwraca go; table.remove(t, 1) usuwa pierwszy element i przesuwa wszystkie pozostałe o jedną pozycję w dół. Ponieważ tablica ma typ {string}, Luau wie, że zwrócona wartość jest ciągiem znaków.

Odczyt jest równie tolerancyjny jak w zwykłym Lua: indeks, pod którym nic się nie znajduje, queue[0], queue[-1] lub indeks większy niż #queue po cichu daje w wyniku nil. Nie pojawia się żaden błąd, więc zanim użyjesz wartości, której istnienia nie masz pewności, sprawdź, czy nie jest równa nil.

challenge icon

Wyzwanie

Łatwy

Rozwijaj i skracaj typowaną listę ruchów.

  1. Zadeklaruj local moves: {string} = {"jump", "run"}.
  2. Dopisz "duck" za pomocą table.insert, a następnie wstaw "crawl" na pozycji 1.
  3. Zapisz table.remove(moves) w local removed, a następnie wypisz removed, #moves, moves[1] i moves[10].

Naciśnij Uruchom kod: dane wyjściowe pokazują duck, 3, crawl i nil.

Spróbuj swoich sił

-- 1) zadeklaruj moves: {string} z wartościami "jump" i "run"
-- 2) dodaj "duck" na końcu, wstaw "crawl" na pozycji 1
-- 3) usuń ostatni ruch, a następnie wypisz cztery wartości

Wszystkie lekcje w sekcji Wprowadzenie do Luau

Poćwicz samodzielnie: Kompilator Luau online