불리언 기본값
Coddy Lua 여정의 Luau 소개 섹션에 포함된 레슨. 80개 중 28번째.
Lua에서 알고 있는 한 가지 주의 사항이 있습니다. or는 false도 대체합니다. 기본값이 true여야 하는 boolean? 매개변수에 flag = flag or true를 사용하면, 명시적으로 전달된 false가 true로 바뀝니다. false or true의 결과가 true이기 때문입니다.
local function sendAlert(message: string, loud: boolean?)
loud = loud or true -- sendAlert("Hi", false)도 여전히 true가 됩니다
print(message, loud)
end대신 명시적으로 nil인지 확인하세요. 인수가 생략된 경우에만 기본값을 설정합니다.
local function sendAlert(message: string, loud: boolean?)
if loud == nil then
loud = true
end
print(message, loud)
end
sendAlert("Hi") -- Hi true
sendAlert("Hi", false) -- Hi false문자열과 숫자에는 or를 안전하게 사용할 수 있습니다. falsy한 값은 nil과 false뿐이기 때문입니다.
챌린지
쉬움불리언 매개변수의 기본값을 true로 지정하여 false로 되돌릴 수 없게 하세요.
local function shippingCost(weight: number, insured: boolean?): number를 작성하세요.- 다음 코드로 시작하세요:
if insured == nil then insured = true end. insured가 true이면weight * 0.5 + 2를 반환하고, 그렇지 않으면weight * 0.5를 반환하세요.shippingCost(4)와shippingCost(4, false)를 출력하세요.
코드 실행을 누르세요. 출력은 4와 2로 끝납니다.
직접 해보기
-- `or` 관용구를 사용한 기본값 설정
local function calculateTax(price: number, rate: number?): number
rate = rate or 0.05
return price * rate
end
print(calculateTax(100))
print(calculateTax(200, 0.08))
Luau 소개의 모든 레슨
4함수 다루기
매개변수와 반환값의 타입 지정익명 함수의 타입 지정아무것도 반환하지 않는 함수선택적 매개변수기본 매개변수 값불리언 기본값가변 인자 함수함수 타입 정의하기복습: 타입이 지정된 함수직접 연습해 보세요: 온라인 Luau 컴파일러