Utwórz funkcję
W poprzednim ćwiczeniu zobaczyłeś, jak używać safely() do identyfikowania niedostępnych adresów URL: napisaliśmy prosty proces, który wywoływał bezpieczną wersję read_lines() i zwracał listę $errors.
W tym ćwiczeniu wypróbujemy inne podejście – tym razem nie skupiamy się wyłącznie na błędach. Zamiast mapować bezpieczną funkcję i wyodrębniać elementy "error" z wyników, napiszemy funkcję pomocniczą, która od razu zastosuje discard() na elementach NULL zwracanych przez safe_read().
Dzięki temu, zamiast ręcznie wyodrębniać część $error lub $result z wyniku, od razu sprawdzisz, czy elementy są dostępne (zawartość zwracana jest w $results) czy nie (wówczas błąd pojawia się w $error).
Wektor urls jest już dla ciebie przygotowany.
To ćwiczenie jest częścią kursu
Funkcyjne programowanie średnio zaawansowane z purrr
Instrukcje do ćwiczenia
Utwórz bezpieczną wersję
read_lines().Utwórz funkcję o nazwie
safe_read_discard(), która uruchomi bezpieczną wersjęread_lines()i zastosujediscard()na elementach NULL.Zamapuj tę funkcję na dostarczoną listę adresów URL.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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, ___)