मेरे पास एक रूबी सरणी है जिसमें कुछ स्ट्रिंग मान हैं। मुझे निम्न की जरूरत है:
- उन सभी तत्वों को खोजें जो कुछ विधेय से मेल खाते हैं
- परिवर्तन के माध्यम से मिलान तत्वों को चलाएं
- परिणाम को एक सरणी के रूप में लौटाएं
अभी मेरा समाधान इस तरह दिखता है:
def example
matchingLines = @lines.select{ |line| ... }
results = matchingLines.map{ |line| ... }
return results.uniq.sort
end
क्या कोई ऐरे या एन्यूमरेबल तरीका है जो सिलेक्ट और मैप को सिंगल लॉजिकल स्टेटमेंट में मिलाता है?
Enumerable#grepविधि वास्तव में क्या कहा था और अधिक दस साल के लिए रूबी में किया गया है नहीं करता है। यह एक विधेय तर्क और एक परिवर्तन ब्लॉक लेता है। @ अहिरौला इस प्रश्न का एकमात्र सही उत्तर देता है।
filter_mapइस सटीक उद्देश्य के लिए शुरू कर रहा है। अधिक जानकारी यहाँ ।