반환값
Coddy R 여정의 기초 섹션에 포함된 레슨 — 78개 중 48번째.
지금까지 우리가 만든 함수들은 출력을 직접 화면에 표시했습니다. 하지만 함수가 어떤 값을 계산한 뒤 그 결과를 돌려주어, 코드의 다른 부분에서 활용하고 싶은 경우가 많습니다. 바로 이럴 때 반환값(return values)이 사용됩니다.
함수에서 값을 반환하려면 return() 함수를 사용하세요:
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result)출력:
[1] 8함수 내부에서 출력하는 대신 합계를 반환합니다. 반환된 값은 변수에 저장하거나, 계산에 사용하거나, 다른 함수로 전달할 수 있습니다.
이것은 함수를 훨씬 더 다재다능하게 만듭니다:
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3))출력:
[1] 16R에서 return()을 사용하지 않으면, 함수는 마지막으로 평가된 표현식을 자동으로 반환합니다. 하지만 return()을 명시적으로 사용하는 것은 코드를 더 명확하게 만들며, 함수를 조기에 종료하고 싶을 때 특히 유용합니다.
챌린지
쉬움base와 exponent라는 두 개의 인자를 받는 calculate_power라는 함수를 생성하세요. 이 함수는 (^ 연산자를 사용하여) base를 exponent 거듭제곱한 결과를 반환(return)해야 합니다.
입력으로부터 두 개의 숫자를 읽어 숫자형(numeric) 값으로 변환한 뒤, 작성한 함수를 호출하세요. 반환된 값을 result라는 변수에 저장하고, result를 출력하세요.
예를 들어, 입력값이 2와 3이라면 출력은 다음과 같아야 합니다:
[1] 8입력값이 5와 2라면 출력은 다음과 같아야 합니다:
[1] 25치트 시트
함수는 return() 함수를 사용하여 값을 다시 보낼 수 있습니다. 이를 통해 결과를 변수에 저장하거나 다른 연산에 사용할 수 있습니다:
add <- function(a, b) {
return(a + b)
}
result <- add(5, 3)
print(result) # [1] 8반환된 값은 표현식에서 직접 사용할 수 있습니다:
double <- function(x) {
return(x * 2)
}
print(double(5) + double(3)) # [1] 16R에서 함수는 return()을 사용하지 않으면 마지막으로 평가된 표현식을 자동으로 반환합니다. 하지만 return()을 명시적으로 사용하면 코드가 더 명확해지고 함수에서 조기에 빠져나올 수 있습니다.
직접 해보기
# 입력 읽기
con <- file("stdin", "r")
base <- as.numeric(suppressWarnings(readLines(con, n = 1)))
exponent <- as.numeric(suppressWarnings(readLines(con, n = 1)))
# TODO: base와 exponent를 인자로 받는 calculate_power라는 함수를 생성하세요
# 그리고 ^ 연산자를 사용하여 base의 exponent 거듭제곱을 반환하세요
# TODO: 입력값으로 함수를 호출하고 결과를 'result'에 저장하세요
# 결과 출력
print(result)이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.