Menu
Coddy logo textTech

혼합 형태 테이블

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

배열은 하나의 타입으로 된 많은 값을 담고, 맵은 하나의 키 타입과 하나의 값 타입을 담습니다. 하지만 가장 흔히 사용하는 Lua 테이블은 named fields 아래에서 타입을 섞습니다. 예를 들어 string 이름, number 점수, boolean 플래그를 가진 player가 있습니다. Luau에서는 이를 shape로 타입 지정합니다. 즉, 각 field와 해당 field의 고유한 타입을 나열하는 테이블 타입입니다.

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

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

type 키워드는 type alias를 만듭니다. 이는 shape를 위한 재사용 가능한 이름입니다. 이 이름은 checker에만 존재하므로, 런타임에는 Point라는 값이 생성되지 않습니다. 각 field는 서로 다른 타입을 가질 수 있습니다.

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

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

shape가 선언되면 checker는 player.score가 number라는 것을 알고 실수를 초기에 표시합니다. 예를 들어 player.scroe처럼 오타를 내는 경우(그런 field가 없음)나 player.score = "high"처럼 할당하는 경우(잘못된 타입)입니다. 이것은 첫 번째 맛보기입니다. 이후 장에서는 shape, 선택적 field, 메서드를 훨씬 더 깊이 살펴봅니다.

challenge icon

챌린지

쉬움

세 개의 필드가 있는 shape에 대해 타입 별칭 Player를 정의하세요: name: string, score: numberactive: boolean.

이름이 "Rio"이고 점수가 1500이며 activetrue로 설정된 local player: Player를 생성하세요.

각 항목을 별도의 줄에 출력하세요:

  1. player의 이름
  2. player의 점수
  3. player의 active 플래그
  4. 필드에서 문자열 보간을 사용해 만든 정확한 줄 Rio has 1500 points

직접 해보기

-- 여기에 코드를 작성하세요
-- 1) type Player = {name: string, score: number, active: boolean}
-- 2) player 생성: Player = {name = "Rio", score = 1500, active = true}
-- 3) print name, score, active, 그 다음 보간된 요약 줄
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Luau 소개의 모든 레슨

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