Začněte nyníZačněte zdarma

Purrrfecting our function

Stále vylepšujeme funkci, která zjišťuje, jestli seznam URL adres obsahuje nedostupné prvky.

Podívejme se, co jsme zatím naprogramovali:

  • Extraktor chyb kombinací safely() a map(.x, "error").
  • Extraktor „non-null" hodnot kombinací safely() a discard(.x, is.null).
  • Generátor 404 pomocí possibly(.x, otherwise = 404), který jsme zabalili do funkce.

Chování této funkce teď trochu změníme: chceš mít možnost vybrat si, jestli funkce vrátí výsledky, nebo chyby.

To ti umožní odpovědět na dvě otázky jednou funkcí: které URL adresy jsou nedostupné a které dostupné jsou? K tomu přidáš do funkce parametr s názvem „type".

Vektor urls a funkce safe_read() jsou dostupné v tvém pracovním prostředí.

Toto cvičení je součástí kurzu

Intermediate Functional Programming with purrr

Zobrazit kurz

Pokyny k cvičení

Dokonči definici funkce.

  • Namapuj safe_read() na seznam URL adres.
  • Nastav názvy výsledku na seznam URL adres.
  • Transponuj výsledek do seznamu $result a $error.
  • Pomocí pluck() extrahuj prvek type.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Complete the function definition
url_tester <- function(url_list, type = c("result", "error")) {
  type <- match.arg(type)
  url_list %>%
    # Apply safe_read to each URL
    ___(___) %>%
    # Set the names to the URLs
    ___(___) %>%
    # Transpose into a list of $result and $error
    ___()  %>%
    # Pluck the type element
    ___(___) 
}

# Try this function on the urls object
url_tester(urls, type = "error") 
Upravit a spustit kód