기본 매개변수 값
Coddy R 여정의 기초 섹션에 포함된 레슨 — 78개 중 51번째.
때로는 함수가 필요할 때 사용자 정의할 수 있는 "표준" 동작을 갖기를 원할 때가 있습니다. 기본 매개변수 값(Default parameter values)을 사용하면 호출자가 값을 제공하지 않을 경우 매개변수가 가져야 할 값을 정의할 수 있습니다.
함수 정의에서 =를 사용하여 기본값을 설정할 수 있습니다:
greet <- function(name = "Guest") {
print(paste("Hello,", name))
}
greet()
greet("Alice")출력:
[1] "Hello, Guest"
[1] "Hello, Alice"인자 없이 호출될 때, 함수는 "Guest"를 기본값으로 사용합니다. 값을 제공하면 기본값을 덮어씁니다.
필수 매개변수와 선택적 매개변수를 혼합하여 사용할 수 있습니다. 기본값이 있는 매개변수는 기본값이 없는 매개변수 뒤에 와야 합니다:
calculate_total <- function(price, tax_rate = 0.1) {
return(price + (price * tax_rate))
}
print(calculate_total(100))
print(calculate_total(100, 0.2))출력:
[1] 110
[1] 120여기서 price는 필수 항목이며, tax_rate는 기본값이 10%로 설정됩니다. 이를 통해 함수를 유연하게 만들 수 있습니다. 일반적인 경우에는 사용하기 간편하면서도, 필요할 때는 사용자 정의가 가능합니다.
챌린지
쉬움두 개의 인자를 받는 calculate_shipping이라는 함수를 생성하세요:
weight- 패키지의 무게 (필수)rate- 무게 단위당 비용 (선택 사항, 기본값은5)
함수는 weight * rate로 계산된 배송비를 반환해야 합니다.
두 줄의 입력을 받게 됩니다:
- 무게 값
- 비율(rate) 값 또는
default라는 단어
만약 두 번째 입력이 default라면, 무게만 사용하여 함수를 호출하세요 (기본 비율 사용). 그렇지 않으면, 무게와 제공된 비율을 모두 사용하여 함수를 호출하세요.
반환된 결과를 출력하세요.
예를 들어, 입력이 다음과 같다면:
10
default출력은 다음과 같아야 합니다:
[1] 50입력이 다음과 같다면:
10
3출력은 다음과 같아야 합니다:
[1] 30치트 시트
함수 정의 시 =를 사용하여 함수에 기본 매개변수 값(default parameter values)을 설정할 수 있습니다:
greet <- function(name = "Guest") {
print(paste("Hello,", name))
}
greet() # 기본값 사용: "Hello, Guest"
greet("Alice") # 기본값 재정의: "Hello, Alice"필수 매개변수와 선택적 매개변수를 함께 사용할 때는 기본값이 있는 매개변수를 기본값이 없는 매개변수 뒤에 배치하세요:
calculate_total <- function(price, tax_rate = 0.1) {
return(price + (price * tax_rate))
}
calculate_total(100) # 기본 tax_rate 사용: 110
calculate_total(100, 0.2) # 사용자 정의 tax_rate: 120직접 해보기
# 입력 읽기
con <- file("stdin", "r")
weight <- as.numeric(suppressWarnings(readLines(con, n = 1)))
rate_input <- suppressWarnings(readLines(con, n = 1))
close(con)
# TODO: 아래에 코드를 작성하세요
# 1. weight(필수)와 rate(선택, 기본값 = 5)를 매개변수로 하는 calculate_shipping 함수를 정의하세요
# 2. rate_input이 "default"인지 아니면 숫자인지 확인하세요
# 3. 함수를 적절하게 호출하고 결과를 출력하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.