मैंने नवीनतम परिवर्तनों के साथ थोड़ा सा खेलने के लिए नवीनतम रूबी संस्करण की जांच की। पहली चीज़ जो मैंने करने की कोशिश की थी वह रूबी लैम्ब्डा/ब्लॉक/प्रो को कॉल करता था जैसे कि आप पाइथन कॉल करने योग्य के साथ करेंगे।रूबी 1.9 लैम्ब्डा कॉल को ब्रांड्स के सामने डॉट के बिना क्यों संभव नहीं है?
a = lambda {|x| puts x}
a.call(4) # works, and prints 4
a[4] # works and prints 4
a.(4) # same
a(4) # undefined method 'a' for main:Object
अंतिम कॉल क्यों संभव नहीं है? क्या यह कभी होगा?
क्या आप कृपया लैम्ब्डा स्क्रिप्ट को थोड़ा सा समझा सकते हैं? – Geo
ठीक है, जब आप 'blah()' और 'method_missing' नामक विधि को आमंत्रित करने का प्रयास करते हैं तो यह ट्रिगर होता है कि यह देखने के लिए जांच करता है कि उचित संदर्भ में' ब्लाडा 'नामक लैम्ब्डा परिभाषित किया गया है या नहीं। यदि ऐसा लैम्ब्डा परिभाषित किया गया है तो यह सामान्य 'blah.call' वाक्यविन्यास का उपयोग करके लैम्ब्डा को आमंत्रित करता है, यह – horseyguy
दिए गए किसी भी पैरामीटर के साथ भी गुजरता है, मुझे लगता है कि यह एक शानदार हैक है। धन्यवाद। – Geo