मैंने एक लैंबडा को एक अनाम फ़ंक्शन के रूप में और एक फ़ंक्शन के संदर्भ के रूप में परिभाषित देखा है। जावास्क्रिप्ट दोनों का समर्थन करता है:
setTimeout(function(){ }, 100)
var f = function(){ }
यह वह जगह है जहाँ JS अपनी शक्ति और लचीलापन प्राप्त करता है। जावा पहले कुछ हद तक (अनाम इंटरफ़ेस कार्यान्वयन) का समर्थन करता है, लेकिन बाद वाला नहीं - जावा 8 के अपडेट के लिए नीचे देखें।
मेरे लिए इसकी अस्पष्ट (या दोनों) एक लंबोदर की उचित परिभाषा है।
जेएस निश्चित रूप से इन सुविधाओं का समर्थन करने वाली पहली भाषा नहीं है। स्मृति से जाने पर, मुझे लगता है कि इसकी स्मालटॉक कि भाषा के प्रति उत्साही हमेशा लंबोदर का समर्थन करते हैं।
BTW: जावा में, एक अनाम वर्ग आमतौर पर एक तर्क के लिए मक्खी पर एक वर्ग परिभाषा में पारित करने के लिए उपयोग किया जाता है (स्विंग में बहुत अधिक उपयोग किया जाता है)। कुछ इस तरह (स्मृति से, संकलित नहीं):
someGuiContainer(new WidgetInterface()
{
public void importantMethodToDefine(){
}
}
)
अपडेट करें
जावा, 8 के रूप में, अब आधिकारिक तौर पर एक लैम्ब्डा भाषा है।
अब आप निम्नलिखित सिंटैक्स का उपयोग कर सकते हैं:
MathOperation addition = (int a, int b) -> a + b;
System.out.println("10 + 5 = " + tester.operate(10, 5, addition));
कोड स्रोत