मैं एक फ़िल्टर बनाना चाहता हूं, और इसे किसी सरणी या हैश पर लागू करने में सक्षम हूं। उदाहरण के लिए:मैं रुबी में पुन: प्रयोज्य ब्लॉक/proc/lambda कैसे बना सकता हूं?
def isodd(i)
i % 2 == 1
end
The I इतना है कि यह उपयोग करने के लिए सक्षम होना चाहते हैं:
x = [1,2,3,4]
puts x.select(isodd)
x.delete_if(isodd)
puts x
यह है कि यह सीधे आगे होना चाहिए लगता है, लेकिन मैं समझ नहीं मैं क्या करने की जरूरत यह काम करने के लिए मिलता है।
आप मुफ्त स्टैंडिंग प्रो बनाने के लिए "स्टैबी लैम्ब्डा" ऑपरेटर का भी उपयोग कर सकते हैं। Http://stackoverflow.com/questions/9340117/what-is-the-stab-operator-in-ruby देखें। 'रूबी 1.9' के रूप में उपलब्ध है। बेशक, स्वाद और कोडिंग शैली का पूरी तरह से एक मामला :) – zealoushacker
भविष्य में पढ़ने वालों के लिए, कोई भी इस प्रकार लैम्ब्डा बना सकता है: lambda_name = ->() {डालता है "हैलो वर्ल्ड"} – BKSpurgeon