Sunday, 15 March 2015

Why is Java Lambda also called Closures -


इस सवाल का पहले से ही एक उत्तर है: < / P>

  • 10 उत्तर

मैं वर्तमान में से गुजर रहा हूँ जावा लैम्ब्डा और इसे क्लोज़र्स भी कहा जाता है।

कृपया ऐसा कारण है कि इसे क्लोज़र्स भी कहा जाता है? मैं एक तकनीकी विवरण चाहता हूं।

ये दो अलग-अलग शब्द हैं जो अक्सर संदर्भ में उल्लेखित होते हैं ।

  • लैम्ब्डा मूल रूप से सिर्फ एक अनाम फ़ंक्शन है उदाहरण: () - & gt; Println ( "हैलो") । यह एक फ़ंक्शन है, लेकिन इसका नाम नहीं है।

  • बंद करना स्क्रॉपिंग के बारे में एक शब्द है। जब आप उदाहरण के लिए एक लैम्ब्डा के अंदर एक स्थानीय चर को देखें, जैसा कि निम्न है

      int localInt = 17; SaveThisFunction (() - & gt; System.out.println (localInt));  

    आप लैम्ब्डा के अंदर कैप्चर localInt को बंद कर देते हैं। टेक्स्ट में यह स्पष्ट दिखता है कि लैम्ब्डा के अंदर localInt तक पहुंचने के लिए ठीक होना चाहिए, लेकिन ध्यान रखें कि लैम्ब्डा को संग्रहीत किया जा सकता है और इसे localInt से पॉप अप कर दिया गया है स्टैक।

अतः, लैम्ब्डा अभिव्यक्ति बनाने के लिए अक्सर बंद होने (निहित) बनाने की आवश्यकता होती है।


No comments:

Post a Comment