BaşlayınÜcretsiz başlayın

Hepsi tek bir çağrıda

Bu kodu daha da yeniden üretilebilir yapmak için, her şeyi tek bir çağrıda yapan bir fonksiyon yazacağız. Bu fonksiyon için bir iskelet zaten verdik, şimdi onu tamamlama sırası sende!

Önceki egzersizlerde süreci birkaç adımda yazmıştık. Şimdi bunu tek bir çağrıyla yapmak istiyoruz: bunun için bir fonksiyon yazacağız; bu fonksiyon bir URL listesini alacak ve erişilemeyen öğelerin adlarını döndürecek.

Bu fonksiyonu yazdıktan sonra kaydedebilir ve ne zaman bir URL listesini temizlemen gerekirse yeniden kullanabilirsin. Hatta belki bir pakete koyarsın ;)

Önceki egzersizdeki urls listesi çalışma alanında mevcut.

Bu egzersiz, kursun bir parçasıdır

purrr ile Orta Düzey Fonksiyonel Programlama

Kursa Göz Atın

Egzersiz talimatları

  • map() çağrısının içinde, aksi halde 404 döndürecek şekilde read_lines() için bir possibly() sürümü oluştur.

  • Çıktının adlarını ayarla.

  • Her alt listeyi bir karakter vektörüne dönüştürmek için collapse argümanı " " olacak şekilde paste() fonksiyonunu kullan.

  • 404'e eşit olan öğeleri kaldır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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)
Kodu Düzenle ve Çalıştır