MulaiMulai sekarang secara gratis

Menyempurnakan fungsi kita

Kita masih menyempurnakan fungsi untuk mendeteksi apakah suatu daftar URL berisi elemen yang tidak tersedia.

Mari tinjau kembali yang sudah kita tulis sejauh ini:

  • Ekstraktor galat, dengan menggabungkan safely() dan map(.x, "error").
  • Ekstraktor "non-null", dengan menggabungkan safely() dan discard(.x, is.null).
  • Generator 404, dengan menggunakan possibly(.x, otherwise = 404), yang kemudian dijadikan fungsi.

Kita akan sedikit mengubah perilaku fungsi ini: sekarang Anda ingin dapat memilih antara mengembalikan hasil atau galat.

Ini akan memungkinkan Anda menjawab dua pertanyaan hanya dengan satu fungsi: URL mana yang tidak dapat dijangkau, dan mana yang dapat dijangkau? Untuk itu, Anda akan menambahkan parameter bernama "type" di dalam fungsi ini.

Vektor urls dan safe_read() tersedia di workspace Anda.

Latihan ini adalah bagian dari kursus

Pemrograman Fungsional Tingkat Menengah dengan purrr

Lihat Kursus

Petunjuk latihan

Lengkapi definisi fungsi.

  • Petakan safe_read() ke daftar URL.
  • Atur nama hasilnya menjadi daftar URL.
  • Transpos hasilnya menjadi sebuah daftar berisi $result dan $error.
  • Gunakan pluck() untuk mengekstrak elemen type.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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") 
Edit dan Jalankan Kode