Mulai sekarangMulai 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 merupakan bagian dari kursus

Pemrograman Fungsional Tingkat Menengah dengan purrr

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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