Vše v jednom volání
Aby byl tento kód ještě více znovupoužitelný, vytvoříme funkci, která vše zvládne v jediném volání. Připravili jsme pro tebe kostru funkce – teď je řada na tobě, abys ji dokončil/a!
V předchozích cvičeních jsme celý postup rozepsali do několika kroků. Teď chceme totéž stihnout v jediném volání: napíšeme funkci, která přijme seznam URL adres a vrátí názvy těch prvků, které nejsou dostupné.
Až tuto funkci napíšeš, můžeš ji uložit a kdykoli ji znovu použít při čištění seznamu URL adres. Třeba ji jednou přidáš i do vlastního balíčku ;)
Seznam urls z předchozího cvičení máš k dispozici ve svém pracovním prostředí.
Toto cvičení je součástí kurzu
Intermediate Functional Programming with purrr
Pokyny k cvičení
Uvnitř volání
map()vytvoř verzipossibly()funkceread_lines(), která v případě chyby vrátí hodnotu404.Nastav názvy výstupních prvků.
Pomocí funkce
paste()s argumentemcollapsenastaveným na" "převeď každý podseznam na znakový vektor.Odstraň prvky, jejichž hodnota se rovná 404.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)