아무것도 반환하지 않는 함수
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨. 80개 중 25번째.
많은 함수는 값을 계산하지 않습니다. 함수는 메시지를 출력하고, 테이블을 업데이트하고, 상태를 저장하는 등 어떤 일을 합니다. Luau에서는 빈 반환 타입 ()으로 함수가 아무것도 반환하지 않는다고 주석을 달 수 있습니다:
local function logMessage(message: string): ()
print(message)
end
local counter = 0
local function incrementCounter(): ()
counter += 1
endTypeScript를 사용해 본 적이 있다면 ()가 void의 역할을 한다는 것을 알 것입니다. 하지만 Luau에서는 빈 괄호 한 쌍으로 표기하며, 말 그대로 "반환값이 0개"라는 뜻입니다.
주석은 선택 사항입니다. 생략하면 Luau는 함수가 아무것도 반환하지 않는다고 추론합니다. : ()를 명시적으로 작성하면 의도를 분명히 알릴 수 있습니다. 시그니처를 읽는 사람은 누구나 이 함수가 결과가 아니라 부수 효과를 위해 호출된다는 것을 알 수 있습니다.
런타임에는 아무것도 달라지지 않습니다(늘 그렇듯이). 값을 return하지 않는 함수의 결과를 저장하려고 하면 단순한 Lua와 마찬가지로 nil이 반환됩니다.
챌린지
쉬움출력하고 아무것도 반환하지 않는 함수 두 개를 작성하세요.
local function displayWelcome(userName: string): ()을 작성해`Welcome, {userName}!`을 출력하세요.local function logError(errorMessage: string): ()를 작성해`ERROR: {errorMessage}`를 출력하세요.displayWelcome("Alice")를 호출한 다음logError("Invalid input")을 호출하세요.
Run Code를 누르세요. 출력에 Welcome, Alice!와 ERROR: Invalid input이 표시됩니다.
직접 해보기
-- 1) displayWelcome(userName: string): ()
-- 2) logError(errorMessage: string): ()
-- 3) displayWelcome("Alice")를 호출한 다음 logError("Invalid input")를 호출합니다
Luau 소개의 모든 레슨
4함수 다루기
매개변수와 반환값의 타입 지정익명 함수의 타입 지정아무것도 반환하지 않는 함수선택적 매개변수기본 매개변수 값불리언 기본값가변 인자 함수함수 타입 정의하기복습: 타입이 지정된 함수직접 연습해 보세요: 온라인 Luau 컴파일러