Skapa en funktion
I föregående övning såg vi hur safely() kan användas för att identifiera oåtkomliga URL:er: vi skrev en enkel process som anropade en säker version av read_lines() och returnerade en lista med $errors.
I den här övningen provar vi en annan metod, där vi inte enbart fokuserar på felen. I stället för att mappa en säker funktion och extrahera "error"-elementen från resultaten skriver vi en hjälpfunktion som direkt tar bort NULL-elementen från utdata via discard().
På så sätt slipper vi extrahera $error- eller $result-delen separat – vi kan direkt avgöra om elementen är åtkomliga (innehållet returneras i $results) eller inte (felet returneras i $error).
Vektorn urls är redan definierad åt dig.
Den här övningen är en del av kursen
Funktionell programmering på mellannivå med purrr
Övningsinstruktioner
Skapa en säker version av
read_lines().Skapa en funktion med namnet
safe_read_discard()som kör den säkra versionen avread_lines()och tar bort NULL-elementen meddiscard().Mappa den här funktionen på URL-listan som finns tillgänglig åt dig.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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, ___)