एक लेख मैं पढ़ रहा था (जावास्क्रिप्ट में) एक अशुद्ध समारोह का एक उदाहरण के रूप में इस देता है:क्या शुद्ध कार्य बाहरी स्थिरता पर निर्भर करता है?
const tipPercentage = 0.15;
const calculateTip = cost => cost * tipPercentage;
जो मुझे एक अजीब उदाहरण का एक सा के रूप में गिरा था, tipPercentage
के बाद से एक अपरिवर्तनीय मूल्य के साथ एक स्थिर है। शुद्ध कार्यों के सामान्य उदाहरण अपरिवर्तनीय स्थिरांक पर निर्भरता की अनुमति देते हैं जब उन स्थिरांक कार्य होते हैं।
const mul = (x, y) => x * y
const calculateTip = (cost, tipPercentage) => mul(cost, tipPercentage);
उपरोक्त उदाहरण में, मुझे ठीक कर लें मैं गलत हूँ, calculateTip
आम तौर पर एक शुद्ध समारोह के रूप में वर्गीकृत किया जाएगा।
तो, मेरा प्रश्न है: कार्यात्मक प्रोग्रामिंग में, एक फ़ंक्शन अभी भी शुद्ध माना जाता है यदि यह एक अपरिवर्तनीय मान के साथ बाहरी रूप से परिभाषित स्थिरता पर निर्भर करता है, जब वह मान कोई फ़ंक्शन नहीं होता है?
यह है - "बाहरी दायरे" से कब्जे वाले चर पर निर्भर करता है कि "2 से अधिक तर्क स्वीकार करता है" हर दूसरे फ़ंक्शन हैकेल में है। – zerkms
हां बिल्कुल। अपरिवर्तनीय कार्यों के आधार पर अपरिवर्तनीय मूल्यों के आधार पर केवल एक विशेष मामला है। – Bergi
यदि यह शुद्ध नहीं था, गणित तोड़ दिया जाएगा। – molbdnilo