Luau란 무엇인가요?
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨 — 73개 중 1번째.
Luau는 Roblox에서 만든 프로그래밍 언어로, 이미 알고 계신 Lua에 점진적 정적 타입(gradual static types)을 추가하여 확장한 것입니다. Lua에 안전성과 도구 지원을 위한 레이어를 추가한 것으로 생각하시면 됩니다. 이 언어는 수백만 개의 Roblox 경험을 구동하고 있으며 2021년부터 오픈소스로 공개되었습니다.
핵심 개념은 Luau가 Lua 5.1의 상위 집합(superset)이라는 점입니다. 모든 valid한 Lua 5.1 코드는 valid한 Luau 코드이기도 합니다. 이전 섹션에서 작성한 스크립트를 변경 없이 Luau로 실행할 수 있습니다.
Luau가 그 위에 추가한 것은 타입 annotation입니다. annotation은 변수가 어떤 유형의 데이터를 보유해야 하는지(string, number, boolean, table 등) 선언하므로, 코드가 실행되기도 전에 오류를 잡아낼 수 있습니다:
-- Lua (also valid Luau)
local message = "Hello World"
-- Luau with a type annotation
local message: string = "Hello World"점진적이라는 단어가 중요합니다. annotation은 선택 사항입니다. 하나의 변수, 하나의 함수 또는 파일 전체에 type을 지정할 수 있으며, 자신만의 속도에 맞춰 type을 추가하는 동안 type이 지정되지 않은 Lua 스타일의 코드도 계속 작동합니다.
그 대가로 더 나은 에디터 도구 지원, 더 읽기 쉬운 코드, 그리고 순수 Lua에서는 프로그램이 실행되는 중에만 드러나는 버그로부터의 보호를 제공받을 수 있습니다.
직접 해보기
이 레슨에는 코드 챌린지가 없습니다.
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.