함수 만들기
이전 연습 문제에서는 safely()를 사용해 접근할 수 없는 url을 찾는 방법을 살펴봤어요. read_lines()의 안전한 버전을 호출하고, $errors 목록을 반환하는 간단한 프로세스를 만들었죠.
이번에는 오류에만 집중하지 않는 다른 접근을 해보겠습니다. 안전한 함수를 매핑한 뒤 결과에서 "error" 요소만 뽑아내는 대신, safe_read()의 출력에서 NULL 요소를 즉시 discard()하는 보조 함수를 작성할 거예요.
이렇게 하면 출력의 $error나 $result 부분을 따로 추출하지 않아도, 어떤 요소는 도달 가능해 $results에 내용이 담기고, 도달 불가능한 경우에는 $error에 오류가 담긴다는 것을 바로 알 수 있어요.
urls 벡터는 이미 제공되어 있습니다.
이 연습은 강의의 일부입니다
purrr로 배우는 중급 함수형 프로그래밍
연습 안내
read_lines()의 안전한 버전을 만드세요.안전한
read_lines()를 실행하고NULL요소를discard()하는safe_read_discard()함수를 만드세요.제공된 url 목록에 이 함수를 매핑하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Create a safe version of read_lines()
safe_read <- ___
# Code a function that discard() the NULL from safe_read()
safe_read_discard <- function(url){
___(___) %>%
___(is.null)
}
# Map this function on the url list
res <- ___(urls, ___)