क्या यह संभव है, लैम्ब्डा अभिव्यक्तियों में कुछ तर्कों को त्यागने के लिए उन्हें नाम न दें? ईजी। मैं एक कार्रवाई < पूर्णांक पास करना int >, लेकिन मैं केवल दूसरी परम में दिलचस्पी रखता हूँ, मैं की तरहसी # लैम्ब्डा अज्ञात पैरामीटर
(_, foo) => bar(foo)
// or
(, foo) => bar(foo)
कुछ पहले मामले में यह काम कर रहा है में लिखना चाहते हैं। लेकिन पहला पैरामीटर वास्तव में अनाम नहीं है, क्योंकि इसका नाम "_" है। तो यह काम नहीं कर रहा है, जब मैं दो या दो से अधिक त्यागना चाहता हूं। मैं _ चुनता हूं क्योंकि प्रोलॉग में इसका अर्थ "कोई मूल्य" है।
तो। क्या मेरे उपयोग के मामले में कोई विशेष चरित्र या अभिव्यक्ति है?
अंत का उपयोग नहीं करना चाहते हैं के लिए मूल रूप से है _' * क्या * सी # 7 के रूप में एक विशेष अर्थ है। लैम्ब्डा अभिव्यक्ति पैरामीटर नामों के लिए नहीं (जहां तक मैं कह सकता हूं) लेकिन निश्चित रूप से अन्य चीजों के लिए, जैसे पैटर्न मिलान, deconstruction, 'out' चर और यहां तक कि नियमित असाइनमेंट भी। (उदाहरण के लिए, आप '_ = 5;' का उपयोग किए बिना '_ = 5; 'का उपयोग कर सकते हैं।) मुझे एहसास है कि यह उत्तर सी # 7 से कई साल पहले लिखा गया था, लेकिन यह देखते हुए कि आखिरी पंक्ति गलत हो गई है, तो इसे संपादित करना अच्छा होगा आपके पास समय है। –
@ जोन्स स्केट ध्यान देने के लिए धन्यवाद, मैंने आपकी टिप्पणियों को एक संपादन में जोड़ा। मुझे भविष्य की भविष्यवाणी करने में बेहतर होना चाहिए। –
मैं अक्सर एक ही स्थिति में हूं - इस मामले में मैंने वास्तव में यह नहीं देखा था कि यह थोड़ी देर के लिए पुराना जवाब था ... नए जवाब ने सामने वाले पृष्ठ पर सवाल रखा था। –