왜 Luau를 사용해야 할까요?
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨. 80개 중 2번째.
Luau의 타입 시스템은 개발을 더 안전하고 효율적으로 만들어 주는 세 가지 주요 이점을 제공합니다.
오류를 조기에 발견합니다: 타입 검사기는 코드를 실행하기 전에 편집하는 동안 코드를 분석합니다. 숫자가 필요한 곳에 nil을 전달하는 고전적인 Lua 버그를 살펴보겠습니다.
-- Lua: 이에 대해 아무런 경고도 표시되지 않습니다
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(nil, 0.1))
-- ✗ 런타임 오류: nil에 대해 산술 연산을 시도했습니다일반 Lua에서는 잘못된 호출이 실제로 실행되어야만 충돌이 발생합니다. 어쩌면 사용자 앞에서 말이죠. 더 심각한 문제는 Lua가 버그를 완전히 숨기는 경우도 있다는 것입니다. "50" + 0.1은 문자열을 조용히 숫자로 변환해 50.1을 반환하지만… 문자열이 숫자가 아닌 날이 오기 전까지는 그렇습니다. Luau 주석을 사용하면 실수가 즉시 표시됩니다.
local function calculateTotal(price: number, tax: number)
return price + tax
end
calculateTotal(nil, 0.1) -- ✗ 편집 중 타입 오류: nil은 숫자가 아닙니다더 읽기 쉬운 코드: 타입 주석은 문서 역할을 합니다. price: number는 함수가 무엇을 기대하는지 여러분과 팀원에게 정확히 알려 줍니다. 추측하거나 구현을 뒤질 필요가 없습니다.
향상된 개발 도구: 편집기는 각 변수의 타입을 알고 있으므로 정확한 자동 완성, 더 안전한 리팩터링, 더 스마트한 탐색 기능을 사용할 수 있습니다. 타입이 지정된 값 뒤에 점을 입력하면 편집기가 사용할 수 있는 항목을 정확히 나열합니다.
챌린지
쉬움calculateTotal의 두 매개변수 모두에 number 타입을 지정하세요.
- 첫 번째 줄에서
(price, tax)를(price: number, tax: number)로 바꾸세요. - 맨 아래의
calculateTotal(80, 8)호출은 그대로 두세요.
코드 실행을 누르세요. 출력은 88입니다.
직접 해보기
local function calculateTotal(price, tax)
return price + tax
end
print(calculateTotal(80, 8))
Luau 소개의 모든 레슨
4함수 다루기
매개변수와 반환값의 타입 지정익명 함수의 타입 지정아무것도 반환하지 않는 함수선택적 매개변수기본 매개변수 값불리언 기본값가변 인자 함수함수 타입 정의하기복습: 타입이 지정된 함수직접 연습해 보세요: 온라인 Luau 컴파일러