Menu
Coddy logo textTech

Podsumowanie — tabela tylko do odczytu

Część sekcji Logika i przepływ programu ścieżki Lua w Coddy. Lekcja 23 z 54.

challenge icon

Wyzwanie

Łatwy

Napisz funkcję makeReadOnly, która przyjmuje original i zwraca tylko do odczytu wersję tablicy.

Utwórz tablicę proxy z metatabelą, która umożliwia odczyt z oryginalnej tablicy, ale uniemożliwia wszelkie modyfikacje.

Logika:

  • Utwórz pustą tablicę proxy
  • Utwórz metatabelę z polem __index ustawionym na oryginalną tablicę (aby umożliwić odczyt)
  • Dodaj do metatabeli pole __newindex, które nic nie robi (aby blokować modyfikacje)
  • Dołącz metatabelę do proxy za pomocą setmetatable()
  • Zwróć tablicę proxy

Parametry:

  • original (tablica): Tablica, którą należy chronić przed modyfikacjami

Zwraca: Tablicę proxy zapewniającą dostęp tylko do odczytu do oryginalnej tablicy (tablica)

Spróbuj swoich sił

function makeReadOnly(original)
    -- Napisz kod tutaj
end

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator Lua online