Menu
CoddyTech

Adnotacje kształtów w miejscu

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

W Lua od dawna używasz tabel jako rekordów: local user = {name = "Ana", age = 20}. Nic nie stoi na przeszkodzie, by błędnie wpisać nazwę pola, o którymś zapomnieć albo przechować ciąg znaków tam, gdzie powinna być liczba. Dowiadujesz się o tym dopiero podczas wykonywania kodu.

Luau pozwala opisać strukturę takiej tabeli bezpośrednio w deklaracji, wymieniając każde pole i jego typ w nawiasach klamrowych:

local user: {name: string, age: number} = {
    name = "Ana",
    age = 20,
}

Porównaj to ze znanymi Ci już typami tabel: {number} opisuje tablicę, a {[string]: number} opisuje mapę z dowolnymi kluczami typu string. Struktura jest bardziej precyzyjna. Nazywa każde pole osobno i określa jego własny typ.

Gdy zadeklarujesz strukturę, moduł sprawdzający typy weryfikuje zgodność tabeli z jej opisem podczas edycji. Brakujące pole lub nieprawidłowy typ wartości zostanie wykryty, zanim kod zostanie uruchomiony:

local user: {name: string, age: number} = {
    name = "Ana",
    age = "twenty", -- ✗ błąd typu: string nie jest liczbą
}

Jak zawsze, adnotacja nie zmienia działania programu podczas wykonywania: tabela pozostaje zwykłą tabelą Lua. Struktury zapisane bezpośrednio w miejscu użycia świetnie sprawdzają się w przypadku jednorazowych struktur, których nie planujesz ponownie wykorzystywać; w następnej lekcji nadasz strukturom nazwę.

challenge icon

Wyzwanie

Łatwy

Opisz rekord ucznia bezpośrednio w jego deklaracji.

  1. Zadeklaruj local student: {name: string, studentId: number} = {name = "Sarah Johnson", studentId = 12345}.
  2. Wyświetl student.name, a następnie student.studentId.

Naciśnij Uruchom kod: wynik pokazuje Sarah Johnson i 12345.

Spróbuj swoich sił

-- 1) zadeklaruj student z adnotacją określającą strukturę w tej samej linii
-- 2) wypisz jego imię, a następnie jego studentId

Wszystkie lekcje w sekcji Wprowadzenie do Luau

Poćwicz samodzielnie: Kompilator Luau online