यह मेरे लिए एक आम, दोहराव मुहावरे है: एक नियमित अभिव्यक्ति का उपयोग करके एक सरणी फ़िल्टर करना, और उप-सरणी लौटना। मेरा दृष्टिकोण बहुत रूबी जैसा नहीं लगता है (मैं जावा से आया हूं)। मैं कई विधियों को समाप्त करता हूं जो इस तरह बहुत दिखते हैं।रूबी: रेगेक्स द्वारा फ़िल्टर सरणी?
इस कोड को बेहतर बनाने के लिए मूर्खतापूर्ण रूबी तरीका क्या है?
def get_all_gifs(items_)
output = Array.new
filter = /\.jpg$/
items_.each do |item|
next if item =~ filter
output << item
end
output
end
फ़ाइल नाम तुम कैसे हो रही है का उपयोग करें? यदि डिस्क से यदि आप 'Dir.glob (' *। Jpe? G ')' –
'का उपयोग करके नाम पुनर्प्राप्त करते हैं तो आप उन्हें फ़िल्टर कर सकते हैं। मुझे लगता है कि लगभग सभी ने मेरे प्रश्न को गलत समझा (शायद क्योंकि मैंने इसे बुरी तरह से पूछा था)। उदाहरण बहुत लोड हो सकता है। यह छवियों या फ़ाइल नाम या फ़ाइल एक्सटेंशन के बारे में नहीं है। यह सरणी के फ़िल्टरिंग के बारे में है, और ऐसा करने के तरीकों के लिए एक बेहतर मुहावरे है। – allanberry