Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Skapa en säker version av read_lines().

  • Skapa en funktion med namnet safe_read_discard() som kör den säkra versionen av read_lines() och tar bort NULL-elementen med discard().

  • 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, ___)
Redigera och kör kod