Menu
CoddyTech

왜 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는 함수가 무엇을 기대하는지 여러분과 팀원에게 정확히 알려 줍니다. 추측하거나 구현을 뒤질 필요가 없습니다.

향상된 개발 도구: 편집기는 각 변수의 타입을 알고 있으므로 정확한 자동 완성, 더 안전한 리팩터링, 더 스마트한 탐색 기능을 사용할 수 있습니다. 타입이 지정된 값 뒤에 점을 입력하면 편집기가 사용할 수 있는 항목을 정확히 나열합니다.

challenge icon

챌린지

쉬움

calculateTotal의 두 매개변수 모두에 number 타입을 지정하세요.

  1. 첫 번째 줄에서 (price, tax)를 (price: number, tax: number)로 바꾸세요.
  2. 맨 아래의 calculateTotal(80, 8) 호출은 그대로 두세요.

코드 실행을 누르세요. 출력은 88입니다.

직접 해보기

local function calculateTotal(price, tax)
    return price + tax
end

print(calculateTotal(80, 8))

Luau 소개의 모든 레슨

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