타입이 지정된 배열
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨. 73개 중 13번째.
Typed arrays는 여러 값을 정리하면서 타입 안전성을 유지할 수 있게 해 주는 Luau의 가장 유용한 기능 중 하나입니다.
Lua에서 array는 1, 2, 3, … 위치에 값이 있는 table일 뿐이며, number, string, boolean을 한꺼번에 문제없이 담을 수 있습니다. Luau에서는 {Type} 구문을 사용하여 table이 한 가지 type의 요소만 포함하도록 declare할 수 있습니다:
local numbers: {number} = {1, 2, 3, 4, 5}
local names: {string} = {"Alice", "Bob", "Charlie"}
local flags: {boolean} = {true, false, true}typed array를 declare하면 Luau의 type checker가 declare된 type의 values만 들어가도록 강제합니다. {number} array에 string을 insert하면 코드가 실행되기도 전에 편집 중에 type error가 발생합니다:
local scores: {number} = {85, 90, 78}
table.insert(scores, "oops") -- ✗ 타입 오류: string은 number가 아닙니다Lua table에 대해 이미 알고 있는 모든 내용은 여전히 적용됩니다. arrays는 1-based입니다(scores[1]은 first element입니다). #scores는 length이고, table.insert / table.remove는 평소처럼 작동합니다. annotation은 안전성을 더할 뿐, 새로운 runtime 동작을 추가하지는 않습니다.
챌린지
쉬움numbers만 저장할 수 있고 85, 92, 78로 초기화된 typed 배열 scores를 Create하세요.
문자열만 저장할 수 있고 "Alice", "Bob", "Charlie"로 초기화된 second typed 배열 studentNames를 Create하세요.
그런 다음 각 항목을 한 줄씩 출력하세요:
- first 점수
- 점수가 몇 개인지 (
#사용) - second 학생 이름
직접 해보기
-- 여기에 코드를 작성하세요
-- 1) scores: {number}와 studentNames: {string}을 선언하세요
-- 2) 첫 번째 점수, scores 개수, 그리고 두 번째 이름을 출력하세요
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
Luau 소개의 모든 레슨
직접 연습해 보세요: 온라인 Lua 컴파일러