विकिपीडिया के अनुसार:
कंप्यूटर प्रोग्रामिंग में, एक फ़ंक्शन को शुद्ध के रूप में वर्णित किया जा सकता है यदि ये दोनों फ़ंक्शन होल्ड के बारे में बयान करते हैं: फ़ंक्शन हमेशा समान परिणाम मान (समान) दिए गए मान का मूल्यांकन करता है। फ़ंक्शन परिणाम मान किसी भी छिपी जानकारी या स्थिति पर निर्भर नहीं हो सकता है जो प्रोग्राम निष्पादन आय के रूप में या कार्यक्रम के विभिन्न निष्पादन के बीच बदल सकता है, और न ही यह I / O उपकरणों से किसी भी बाहरी इनपुट पर निर्भर हो सकता है। परिणाम का मूल्यांकन किसी भी शब्दानुभवनीय दुष्प्रभाव या आउटपुट का कारण नहीं बनता है, जैसे कि उत्परिवर्तनीय वस्तुओं का उत्परिवर्तन या I / O उपकरणों के आउटपुट।
मैं सोच रहा हूं कि क्या यह संभव है कि एक फ़ंक्शन शुद्ध या नहीं तो गणना करने के लिए फ़ंक्शन लिखें। जावास्क्रिप्ट में उदाहरण कोड:
function sum(a,b) {
return a+b;
}
function say(x){
console.log(x);
}
isPure(sum) // True
isPure(say) // False
if (rand(1000000)<2) return WRONG_ANSWER
एक सुसंगत व्यवहार के लिए फ़ंक्शन को कई बार जांचना मदद नहीं करेगा। लेकिन, यदि आपके पास फ़ंक्शन परिभाषा तक पहुंच है, तो सबूत तुच्छ है।
say
कॉल console.log
जो अशुद्ध say
है वह अशुद्ध भी है।