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

Fonksiyonumuzu purrfekt hâle getirelim

Bir URL listesinin erişilemeyen (mevcut olmayan) öğeler içerip içermediğini tespit eden fonksiyonumuzu hâlâ mükemmelleştiriyoruz.

Hadi şimdiye kadar yazdıklarımızı gözden geçirelim:

  • safely() ve map(.x, "error") birleştirilerek bir hata ayıklayıcı.
  • safely() ve discard(.x, is.null) birleştirilerek bir "null olmayan" ayıklayıcı.
  • possibly(.x, otherwise = 404) kullanılarak, fonksiyona dönüştürülmüş bir 404 üretici.

Bu fonksiyonun davranışını biraz değiştireceğiz: artık döndürülecek şeyin sonuçlar mı yoksa hatalar mı olacağını seçebilmek istiyorsun.

Bu sayede tek bir fonksiyonla iki soruya yanıt verebileceksin: hangileri erişilemeyen URL'ler ve hangileri erişilebilenler? Bunu yapmak için bu fonksiyonun içine "type" adlı bir parametre ekleyeceksin.

urls vektörü ve safe_read() çalışma alanında hazır.

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

purrr ile Orta Düzey Fonksiyonel Programlama

Kursa Göz Atın

Egzersiz talimatları

Fonksiyon tanımını tamamla.

  • safe_read() fonksiyonunu URL listesine map et.
  • Sonucun adlarını URL listesiyle ayarla.
  • Sonucu $result ve $error listesine transpoze et.
  • pluck() kullanarak type öğesini çıkar.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

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