इस सवाल का पहले से ही एक उत्तर है: < / P>
- 10 उत्तर
मैं वर्तमान में से गुजर रहा हूँ जावा लैम्ब्डा और इसे क्लोज़र्स भी कहा जाता है।
कृपया ऐसा कारण है कि इसे क्लोज़र्स भी कहा जाता है? मैं एक तकनीकी विवरण चाहता हूं।
ये दो अलग-अलग शब्द हैं जो अक्सर संदर्भ में उल्लेखित होते हैं ।
-
ए लैम्ब्डा मूल रूप से सिर्फ एक अनाम फ़ंक्शन है उदाहरण:
() - & gt; Println ( "हैलो")
। यह एक फ़ंक्शन है, लेकिन इसका नाम नहीं है। -
ए बंद करना स्क्रॉपिंग के बारे में एक शब्द है। जब आप उदाहरण के लिए एक लैम्ब्डा के अंदर एक स्थानीय चर को देखें, जैसा कि निम्न है
int localInt = 17; SaveThisFunction (() - & gt; System.out.println (localInt));
आप लैम्ब्डा के अंदर कैप्चर
localInt
को बंद कर देते हैं। टेक्स्ट में यह स्पष्ट दिखता है कि लैम्ब्डा के अंदरlocalInt
तक पहुंचने के लिए ठीक होना चाहिए, लेकिन ध्यान रखें कि लैम्ब्डा को संग्रहीत किया जा सकता है और इसेlocalInt
से पॉप अप कर दिया गया है स्टैक।
अतः, लैम्ब्डा अभिव्यक्ति बनाने के लिए अक्सर बंद होने (निहित) बनाने की आवश्यकता होती है।
No comments:
Post a Comment