क्या निम्न विधि शुद्ध है? मैं ऐसा कहूंगा, क्योंकि यह किसी भी तरह से मौजूदा वर्ग में नहीं बदलता है, इस प्रकार, इस विधि को चलाने से पहले, अब हम सब कुछ कक्षा में "देखें" कर सकते हैं, फिर भी वही होगा। क्या मैं सही हूँ?[शुद्ध] विधियों के बारे में प्रश्न
class Set {
...
public ISet<T> UnionWith(ISet<T> set) {
ISet<T> unionSet = ...
foreach (Element element in this) {
unionSet.Add(element);
}
foreach (Element element in set) {
unionSet.Add(element);
}
return unionSet;
}
}
शायद आप * idempotent * शब्द की तलाश में हैं? –
हमम ... वास्तव में नहीं। –
ध्यान दें कि (अवधारणात्मक रूप से) एक समारोह शुद्ध होने पर सोचते समय अपने अवशोषण के स्तर पर विचार करना महत्वपूर्ण है। यह वास्तव में शुद्ध वस्तु-वार है, क्योंकि यह किसी भी मौजूदा वस्तु (नए को छोड़कर) की स्थिति को नहीं बदलता है, लेकिन यह शुद्ध प्रणाली-वार नहीं है - यह स्मृति आवंटित करता है, इसलिए यह सिस्टम की स्थिति को बदल देता है। – Kos