2015-07-24 7 views
5

में नोप का उपयोग कब किया जाएगा मैं इस खूबसूरत भाषा के साथ खेल रहा हूं और नोप नामक एक समारोह देखा।सिलोन

जैसा कि प्रलेखन कहता है कि यह एक शून्य कार्य है जो कुछ भी नहीं करता !!

तो मैं ऐसे फ़ंक्शन का उपयोग क्यों करूं जो कुछ भी नहीं करता? क्या यह असेंबली में "नोप" जोड़ने के लिए है (पाइपलाइन आदि के लिए) लेकिन फिर यह बहुत कम स्तर होगा?

+0

hmmmm क्यों downvote, प्रलेखन किसी भी नहीं बताता है उपयोगकेस यह करता है? – niceman

+0

हाँ, पूरी तरह अनुचित डाउनवोट। लेकिन आपको शीर्षक को सही करना चाहिए और 'नोओप' होने के लिए टिप्पणी करना चाहिए, न कि 'नोब'। –

+0

धन्यवाद @ जॉन Vasileff, मेरे टाइपो तय :) – niceman

उत्तर

8

noop() शून्य (या Anything लौटने) फ़ंक्शन का स्थान ले सकता है। इसलिए यदि आप किसी फ़ंक्शन को कॉल कर रहे हैं या ऑब्जेक्ट बना रहे हैं, तो आपको किसी इवेंट हैंडलर या कॉलबैक फ़ंक्शन में पास करने की आवश्यकता होती है, लेकिन आप ईवेंट का जवाब देने में रुचि नहीं रखते हैं।

7

noop(), यह भी एक समारोह के एक वैकल्पिक पैरामीटर का डिफ़ॉल्ट मान के रूप में उपयोगी है, उदाहरण के लिए:

void foo(void bar(Integer i) => noop(i)) {} 

या:

void foo(Anything(Integer) bar = noop) {}