एक फंक्शन बनाएँ
पिछले अभ्यास में आपने देखा कि safely() का उपयोग करके हम non-reachable URLs पहचान सकते हैं: हमने एक छोटा-सा प्रोसेस लिखा था जो read_lines() के safe वर्शन को कॉल करता था और $errors की लिस्ट लौटाता था.
इस अभ्यास में हम एक अलग तरीका अपनाएँगे, क्योंकि हम केवल errors पर फोकस नहीं करेंगे। safe फंक्शन को map करके परिणामों से "error" एलिमेंट निकालने के बजाय, हम एक helper फंक्शन लिखेंगे जो safe_read() के आउटपुट के NULL तत्वों को तुरंत discard() कर देगा।
इस तरह, आउटपुट के $error या $result भाग को अलग से निकालने के बजाय, हमें सीधे पता चल जाएगा कि एलिमेंट reachable है (तो कंटेंट $results में लौटेगा) या नहीं (तो error $error में लौटेगा)।
urls वेक्टर आपके लिए पहले से दिया गया है।
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr
अभ्यास निर्देश
read_lines()का एक safe वर्शन बनाएँ।safe_read_discard()नाम का एक फंक्शन बनाएँ जोread_lines()के safe वर्शन को चलाए औरNULLतत्वों कोdiscard()कर दे।दिए गए URL लिस्ट पर इस फंक्शन को map करें।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create a safe version of read_lines()
safe_read <- ___
# Code a function that discard() the NULL from safe_read()
safe_read_discard <- function(url){
___(___) %>%
___(is.null)
}
# Map this function on the url list
res <- ___(urls, ___)