मुझे लगता है मैं कर रहा हूँ विकासशील एक कमांड लाइन रूबी ऐप है और मुझे लगता है कि इस प्रक्रिया की ओर से एक फिल्टर के रूप में चलेंगे कोड प्रदान करने के लिए इसके बारे में एक उपयोगकर्ता की अनुमति देना चाहते। मूल रूप से, आवेदन करता है:स्क्रिप्ट एक रूबी कमांड लाइन ऐप; ऐसा करने का सबसे अच्छा तरीका है?
- कुछ डेटा में पढ़ा
- एक फिल्टर निर्दिष्ट किया जाता है, तो यह डेटा
मैं फ़िल्टर करने की प्रक्रिया चाहते हैं फिल्टर करने के लिए डेटा
मेरे सोच था उपयोगकर्ता जैसे एक अंतरफलक मैं परिभाषित करते हैं, को लागू करने के लिए एक रूबी फ़ाइल है कि एक वस्तु को इंगित करने के निरंतर में जाना जाता एक सेट प्रदान कर सकता है कि:
# user's filter
class MyFilter
def do_filter(array_to_filter)
filtered_array = Array.new
# do my filtering on array_to_filter
filtered_array
end
FILTER = MyFilter.new
मेरे ऐप्लिकेशन के कोड तो कुछ इस तरह करना होगा:
array_that_might_get_filtered = get_my_array()
if (options.filter_file)
require options.filter_file
array_that_might_get_filtered = FILTER.do_filter(array_that_might_get_filtered)
end
हालांकि यह काम करेगा, यह चीज लगता है और ऐसा लगता है कि ऐसा करने का एक बेहतर तरीका होना चाहिए। मैं भी फिल्टर एक ज्ञात वर्ग के लिए एक ज्ञात नाम की एक विधि को जोड़ने के रूप में हो होने की सोची, परन्तु जो पूरी तरह ठीक नहीं लगता था, या तो।
इसके लिए रूबी में एक बेहतर मुहावरा है?
बहुत मेरी सामान्य जवाब से अधिक व्यावहारिक। +1 – VonC