Menu
CoddyTech

Tabele o mieszanej strukturze

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

Tablice przechowują wiele wartości jednego typu; mapy przechowują jeden typ klucza i jeden typ wartości. Jednak najczęściej używane przez Ciebie tabele Lua łączą różne typy w nazwanych polach: gracza z tekstowym imieniem, wynikiem liczbowym i flagą logiczną. Luau opisuje ich typy za pomocą kształtu: typu tabeli, który wymienia każde pole i jego własny typ.

type Point = {x: number, y: number}

local origin: Point = {x = 0, y = 0}
print(origin.x)

Słowo kluczowe type tworzy alias typu: wielokrotnie używaną nazwę kształtu. Istnieje on tylko na potrzeby weryfikatora: nie jest tworzona żadna wartość czasu wykonania o nazwie Point. Każde pole może mieć inny typ:

type Player = {name: string, score: number, active: boolean}

local player: Player = {name = "Rio", score = 1500, active = true}
print(`{player.name} has {player.score} points`)

Po zadeklarowaniu kształtu weryfikator wie, że player.score jest liczbą, i wykrywa błędy na wczesnym etapie: literówkę, taką jak player.scroe (takie pole nie istnieje), albo przypisanie player.score = "high" (niewłaściwy typ). To dopiero pierwszy przedsmak: w późniejszym rozdziale dokładniej omówimy kształty, pola opcjonalne i metody.

challenge icon

Wyzwanie

Łatwy

Opisz gracza za pomocą typu kształtu.

  1. Zapisz type Player = {name: string, score: number, active: boolean}.
  2. Utwórz local player: Player = {name = "Kai", score = 900, active = false}.
  3. Wypisz player.active, a następnie `{player.name} has {player.score} points`.

Naciśnij Uruchom kod: w wyniku pojawią się false i Kai has 900 points.

Spróbuj swoich sił

-- 1) type Player = {...}
-- 2) local player: Player = {...}
-- 3) wypisz wartość flagi active, a następnie wiersz podsumowania

Wszystkie lekcje w sekcji Wprowadzenie do Luau

Poćwicz samodzielnie: Kompilator Luau online