मैं एक लाइन लैम्ब्डा में ब्रेकपॉइंट कैसे सेट कर सकता हूं?एकल/एक पंक्ति लैम्ब्डा में ग्रहण ब्रेकपॉइंट?
उदा। मैं (ग्रहण) डिबगर को रोकने के लिए, जब outer.doSth(event)
कहा जाता है चाहते हैं:
observable.addCallback(event-> outer.doSth(event));
मैं एक लाइन लैम्ब्डा में ब्रेकपॉइंट कैसे सेट कर सकता हूं?एकल/एक पंक्ति लैम्ब्डा में ग्रहण ब्रेकपॉइंट?
उदा। मैं (ग्रहण) डिबगर को रोकने के लिए, जब outer.doSth(event)
कहा जाता है चाहते हैं:
observable.addCallback(event-> outer.doSth(event));
आप नहीं कर सकते।
आप इसे इस प्रकार refactor हैं:
observable.addCallback(event-> {
return outer.doSth(event);
});
आप कर सकते हैं।
लैम्बडा अभिव्यक्ति को वर्बोज़ सिंटैक्स में बदलने की कोई आवश्यकता नहीं है। यह 'event-> outer.doSth (event)' का उपयोग करके भी काम करेगा यदि आप '->' के बाद लाइन ब्रेक डालते हैं। – Holger
अफसोस की बात है कि – Sossenbinder
बनाने के बिना ऐसा करने का कोई तरीका नहीं है 'doSth' विधि के अंदर ब्रेकपॉइंट डालना एक विकल्प है। –
ठीक है, आप लैम्ब्डा अभिव्यक्ति वाली रेखा पर बस एक ब्रेकपॉइंट सेट कर सकते हैं, लेकिन इस तथ्य के साथ रहना होगा कि 'addCallback' का आह्वान करने से पहले और' doSth 'को आमंत्रित करने से पहले निष्पादन दोनों बिंदुओं पर रोक देगा। यह अभिव्यक्तियों के किसी अन्य घोंसले से अलग नहीं है। यदि आप अंतर करना चाहते हैं, तो लाइन ब्रेक डालें ... – Holger