ÎncepețiÎncepe gratuit

Perfecționăm funcția

Continuăm să perfecționăm funcția care detectează dacă o listă de URL-uri conține elemente indisponibile.

Hai să trecem în revistă ce am scris până acum:

  • Un extractor de erori, prin combinarea safely() cu map(.x, "error").
  • Un extractor de valori non-nule, prin combinarea safely() cu discard(.x, is.null).
  • Un generator de erori 404, folosind possibly(.x, otherwise = 404), transformat într-o funcție.

Vom modifica puțin comportamentul acestei funcții: acum vrei să poți alege între a returna rezultatele sau erorile.

Astfel, vei putea răspunde la două întrebări cu o singură funcție: care sunt URL-urile inaccesibile și care sunt cele accesibile? Pentru aceasta, vei adăuga un parametru numit „type" în interiorul funcției.

Vectorul urls și funcția safe_read() sunt disponibile în spațiul tău de lucru.

Acest exercițiu face parte din cursul

Programare funcțională intermediară cu purrr

Vezi cursul

Instrucțiuni pentru exercițiu

Completează definiția funcției.

  • Aplică safe_read() pe lista de URL-uri folosind map().
  • Setează numele rezultatului la lista de URL-uri.
  • Transpune rezultatul într-o listă de $result și $error.
  • Folosește pluck() pentru a extrage elementul type.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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") 
Editează și rulează codul