Menu
CoddyTech

기본 매개변수 값

Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨. 80개 중 27번째.

선택적 매개변수는 처리해야 할 nil 값을 남깁니다. 대개 실제로 원하는 것은 대체 값입니다. 즉, “호출자가 지정하지 않으면 X라고 가정한다”는 것입니다. Luau에는 함수 시그니처에 기본값을 지정하는 문법이 없습니다(greeting: string = "Hello"처럼 쓸 수 없습니다). 대신 이제 타입을 사용하는 전통적인 Lua 관용구를 씁니다.

function greet(name: string, greeting: string?): string
    greeting = greeting or "Hello"
    return `{greeting}, {name}`
end

print(greet("Alice"))            -- Hello, Alice
print(greet("Alice", "Howdy"))   -- Howdy, Alice

매개변수에는 선택 사항이라는 주석이 붙어 있고(string?), 본문 첫 줄에서 nil을 기본값으로 바꿉니다. nil은 거짓으로 취급되므로 이 방식이 작동합니다. nil or "Hello"는 "Hello"로 평가됩니다. 이 줄이 실행된 뒤에는 검사기가 greeting이 더 이상 nil일 수 없다는 것을 알게 됩니다.

challenge icon

챌린지

쉬움

선택적 매개변수에 기본값을 지정하세요.

  1. local function calculateTax(price: number, rate: number?): number를 작성하세요.
  2. 첫 번째 줄은 rate = rate or 0.05이며, 그다음 price * rate를 반환하세요.
  3. calculateTax(100)과 calculateTax(200, 0.08)을 출력하세요.

코드 실행을 누르세요. 출력에는 5와 16이 차례로 표시됩니다.

직접 해보기

-- 1) calculateTax(price: number, rate: number?): number
--    `or` 관용구를 사용해 기본 세율을 0.05로 설정
-- 2) calculateTax(100)과 calculateTax(200, 0.08)의 결과를 출력

Luau 소개의 모든 레슨

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