시작하기무료로 시작하기

함수를 완성해 봅시다

여전히 URL 목록에 사용 불가한 요소가 있는지 감지하는 함수를 다듬고 있어요.

지금까지 작성한 코드를 정리해 보면:

  • safely()map(.x, "error")를 결합한 오류 추출기.
  • safely()discard(.x, is.null)을 결합한 "null 아님" 추출기.
  • possibly(.x, otherwise = 404)를 사용해 만든 404 생성기(함수로 변환됨).

이제 이 함수의 동작을 조금 바꿔 보겠습니다. 결과 또는 오류 중 어떤 것을 반환할지 선택할 수 있도록 하려는 거예요.

이렇게 하면 하나의 함수로 두 가지 질문에 답할 수 있습니다: 도달할 수 없는 URL은 무엇이고, 도달 가능한 URL은 무엇인가요? 이를 위해 함수 안에 "type"이라는 매개변수를 추가할 것입니다.

urls 벡터와 safe_read()는 작업 공간에 준비되어 있습니다.

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

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

강의 보기

연습 안내

함수 정의를 완성하세요.

  • safe_read()를 URL 목록에 매핑하세요.
  • 결과의 이름을 URL 목록으로 설정하세요.
  • 결과를 전치하여 $result와 $error 리스트로 바꾸세요.
  • pluck()를 사용해 type 요소를 추출하세요.

실습형 인터랙티브 연습

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

# Complete the function definition
url_tester <- function(url_list, type = c("result", "error")) {
  type <- match.arg(type)
  url_list %>%
    # Apply safe_read to each URL
    ___(___) %>%
    # Set the names to the URLs
    ___(___) %>%
    # Transpose into a list of $result and $error
    ___()  %>%
    # Pluck the type element
    ___(___) 
}

# Try this function on the urls object
url_tester(urls, type = "error") 
코드 편집 및 실행