CommencerCommencez gratuitement

Créer une fonction

Nous avons vu comment utiliser safely() pour repérer les URL inaccessibles dans l’exercice précédent : nous avons écrit un petit processus qui appelait une version sécurisée de read_lines() et renvoyait une liste de $errors.

Dans cet exercice, nous allons essayer une autre approche, car nous ne nous concentrerons pas uniquement sur les erreurs. Au lieu d’appliquer une fonction sécurisée puis d’extraire les éléments "error" des résultats, nous allons écrire une fonction utilitaire qui discard() immédiatement les éléments NULL de la sortie de safe_read().

De cette façon, au lieu d’extraire la partie $error ou $result de la sortie, nous pourrons savoir si les éléments sont accessibles (le contenu est renvoyé dans $results) ou s’ils ne le sont pas (dans ce cas, l’erreur est renvoyée dans $error).

Le vecteur urls vous est fourni.

Cet exercice fait partie du cours

<cours>Programmation fonctionnelle intermédiaire avec purrr</cours>
Voir le cours

Instructions de l’exercice

  • Créez une version sécurisée de read_lines().

  • Créez une fonction appelée safe_read_discard() qui exécute la version sécurisée de read_lines() et qui discard() les éléments NULL.

  • Appliquez cette fonction à la liste d’URL qui vous est fournie.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Create a safe version of read_lines()
safe_read <- ___

# Code a function that discard() the NULL from safe_read()
safe_read_discard <- function(url){
  ___(___) %>%
    ___(is.null)
}

# Map this function on the url list
res <- ___(urls, ___)
Modifier et exécuter le code