시작하기무료로 시작하기

순수 함수 식별하기

순수 함수는 다음 두 가지 성질을 만족합니다:

  • 출력이 오직 입력에만 의존해요. 같은 값을 넣으면 결과도 항상 같아요.
  • 부작용이 없어요. 즉, 함수 바깥에 아무 영향도 주지 않아요.

R의 많은 함수는 순수하지 않지만, 일상적인 R 작업에는 꼭 필요해요. 예를 들어 분석할 때는 파일을 다운로드하고, 그래프를 만들고, 결과를 저장해야 하죠.

프로그래밍할 때는 함수가 가능한 한 순수하게 만들거나, 반대로 목적에 맞게 명확히 비순수하게 만드는 것이 좋아요(예: 파일을 다운로드하는 함수는 그 파일만 다운로드하도록). 이를 위해서는 먼저 순수 함수와 비순수 함수를 구분할 수 있어야 해요.

이번 연습에서는 순수한 함수와 비순수한 함수를 각각 실행해 보고, 어떤 출력이 나오는지 살펴보겠습니다.

이 연습은 강의의 일부입니다

purrr로 배우는 중급 함수형 프로그래밍

강의 보기

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()
코드 편집 및 실행