शुरू करेंमुफ़्त में शुरू करें

हमारी फंक्शन को Purrrfect बनाना

हम अब भी अपनी फंक्शन को बेहतर बना रहे हैं ताकि यह जाँच सके कि URLs की किसी सूची में ऐसे एलिमेंट हैं जो उपलब्ध नहीं हैं.

आइए अब तक लिखे गए कोड की समीक्षा करें:

  • एक error extractor, जो safely() और map(.x, "error") को जोड़कर बना है.
  • एक "non-null" extractor, जो safely() और discard(.x, is.null) को जोड़कर बना है.
  • एक 404 generator, जो possibly(.x, otherwise = 404) से बना है और जिसे एक फंक्शन में बदला गया था.

हम इस फंक्शन का व्यवहार थोड़ा बदलेंगे: अब आप तय कर सकेंगे कि रिटर्न में results चाहिए या errors.

इससे आप एक ही फंक्शन से दो सवालों के जवाब दे पाएँगे: कौन-से URLs तक पहुँचा नहीं जा सकता, और कौन-से पहुँचा जा सकता है? ऐसा करने के लिए, आप इस फंक्शन के अंदर "type" नाम का एक पैरामीटर जोड़ेंगे.

urls वेक्टर और safe_read() आपके वर्कस्पेस में उपलब्ध हैं.

यह अभ्यास पाठ्यक्रम का हिस्सा है

इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr

पाठ्यक्रम देखें

अभ्यास निर्देश

फंक्शन परिभाषा पूरी करें.

  • URLs की सूची पर safe_read() को map करें.
  • रिजल्ट के नामों को URLs की सूची से सेट करें.
  • रिजल्ट को transpose करके $result और $error की सूची में बदलें.
  • pluck() का उपयोग करके type एलिमेंट निकालें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# 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") 
कोड संपादित करें और चलाएँ