प्योर फंक्शन्स की पहचान
एक प्योर फंक्शन दो गुणों को पूरा करता है:
- उसका आउटपुट सिर्फ उसके इनपुट्स पर निर्भर करता है: जब आप वही मान दें, तो आउटपुट हमेशा एक जैसा होगा.
- उसका कोई साइड-इफ़ेक्ट नहीं होता, यानी फंक्शन के बाहर किसी चीज़ पर कोई असर नहीं पड़ता.
R में बहुत-सी फंक्शन्स प्योर नहीं हैं, फिर भी वे रोज़मर्रा के काम के लिए ज़रूरी हैं: एनालिसिस करते समय आपको फाइल्स डाउनलोड करनी पड़ती हैं, प्लॉट बनाना होता है, रिज़ल्ट सेव करने होते हैं…
प्रोग्रामिंग करते समय, आपको कोशिश करनी चाहिए कि आपकी फंक्शन्स या तो जितनी हो सके उतनी प्योर हों, या फिर स्पष्ट रूप से इम्प्योर हों (जैसे, जो फंक्शन फाइल डाउनलोड करती है, उसे सिर्फ वही फाइल डाउनलोड करनी चाहिए). लेकिन इसके लिए पहले आपको प्योर और इम्प्योर फंक्शन में फ़र्क पहचानना आना चाहिए.
यही हम इस अभ्यास में करेंगे: ऐसी फंक्शन्स चलाएँगे जो या तो प्योर हैं या इम्प्योर, और देखेंगे कि उनका आउटपुट क्या आता है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट फ़ंक्शनल प्रोग्रामिंग विथ purrr
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Launch Sys.time(), Sys.sleep(1), & Sys.time()
___()
___(___)
___()