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()amap(.x, "error"). - Extraktor „non-null" hodnot kombinací
safely()adiscard(.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
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 prvektype.
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")