Menu
CoddyTech

혼합 형태의 테이블

Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨. 80개 중 18번째.

배열은 한 가지 유형의 값을 여러 개 담고, 맵은 한 가지 키 유형과 한 가지 값 유형을 담습니다. 하지만 가장 흔히 사용하는 Lua 테이블은 이름이 지정된 필드에 여러 유형을 섞어 담습니다. 예를 들어 문자열 이름, 숫자 점수, 불리언 플래그를 가진 플레이어가 있습니다. Luau에서는 이를 형태로 표현합니다. 각 필드와 해당 필드의 유형을 나열하는 테이블 유형입니다.

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

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

type 키워드는 유형 별칭을 만듭니다. 형태를 나타내는 재사용 가능한 이름입니다. 이 별칭은 검사기에만 존재하며, Point라는 이름의 런타임 값은 만들어지지 않습니다. 각 필드는 서로 다른 유형을 가질 수 있습니다.

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

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

형태를 선언하면 검사기는 player.score가 숫자라는 것을 알 수 있고 실수를 일찍 찾아냅니다. 존재하지 않는 필드를 가리키는 player.scroe 같은 오타나, 유형이 맞지 않는 player.score = "high" 할당을 찾아냅니다. 이것은 맛보기일 뿐입니다. 이후 장에서는 형태, 선택적 필드, 메서드를 훨씬 더 깊이 다룹니다.

challenge icon

챌린지

쉬움

형태 타입으로 플레이어를 설명하세요.

  1. type Player = {name: string, score: number, active: boolean}을 작성하세요.
  2. local player: Player = {name = "Kai", score = 900, active = false}를 만드세요.
  3. player.active를 출력한 다음, `{player.name} has {player.score} points`를 출력하세요.

코드 실행을 누르세요. 출력에는 false와 Kai has 900 points가 표시됩니다.

직접 해보기

-- 1) type Player = {...}
-- 2) local player: Player = {...}
-- 3) active 플래그를 출력한 다음 요약 줄을 출력합니다

Luau 소개의 모든 레슨

직접 연습해 보세요: 온라인 Luau 컴파일러