Kom igångKom igång gratis

Allt i ett anrop

För att göra koden ännu mer återanvändbar ska vi skriva en funktion som utför allt i ett enda anrop. Vi har redan förberett ett skelett åt dig – nu är det din tur att fylla i resten!

I de tidigare övningarna delade vi upp processen i flera steg. Nu vill vi samla allt i ett enda anrop: vi skriver en funktion som tar en lista med URL:er och returnerar namnen på de element som inte går att nå.

När du har skrivit funktionen kan du spara den och återanvända den när du behöver städa en lista med URL:er. Och kanske lägga in den i ett paket ;)

Listan urls från den föregående övningen finns tillgänglig i din arbetsmiljö.

Den här övningen är en del av kursen

Funktionell programmering på mellannivå med purrr

Visa kurs

Övningsinstruktioner

  • Skapa, inuti map()-anropet, en possibly()-version av read_lines() som annars returnerar 404.

  • Ange namnen på utdata.

  • Använd funktionen paste() med argumentet collapse satt till " " för att omvandla varje underlista till en teckensträng.

  • Ta bort de element som är lika med 404.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

url_tester <- function(url_list){
  url_list %>%
    # Map a version of read_lines() that otherwise returns 404
    map( ___(___, otherwise = ___) ) %>%
    # Set the names of the result
    ___( urls ) %>% 
    # paste() and collapse each element
    map(___, ___ = " ") %>%
    # Remove the 404 
    ___(___) %>%
    names() # Will return the names of the good ones
}

# Try this function on the urls object
url_tester(urls)
Redigera och kör kod