कक्षा Matrix
के डिजाइनर अपरिवर्तनीय डेटा संरचनाओं और कार्यात्मक प्रोग्रामिंग का प्रशंसक होना चाहिए। हाँ आप सही हैं।
किसी भी मामले में, आप जो चाहते हैं उसके लिए एक सरल समाधान है। Matrix
का उपयोग करें कि यह क्या कर सकता है, इसके बाद, वास्तविक सरणी प्राप्त करने के लिए बस .to_a
का उपयोग करें।
>> Matrix.identity(2).to_a
=> [[1, 0], [0, 1]]
Numerical Ruby Narray भी देखें। आप अधिक व्यवहार जोड़ने के लिए कक्षा को बंदरगाह भी कर सकते हैं। यदि आप ऐसा करते हैं, तो कृपया मैट्रिक्स के उप-वर्ग को पैच करें। (रूबी लाइब्रेरी प्रोजेक्ट्स हैं जो require
डी कक्षाओं से अधिक व्यवहार चाहते हैं, इसलिए वे सीधे अपनी नई फाइलें कुछ जहरीले बनाने के लिए उन्हें संशोधित करते हैं। वे आसानी से एक सबक्लास या सिंगलटन वर्ग को पैच कर सकते थे।)
ओह, और khelll (:-) शायद मुझे यह कहना चाहेंगे कि in a functional style आप जो करना चाहते हैं उसके लिए संभवतः एक तरीका है। यही है, पुराने लोगों को संशोधित करने के बजाय नई वस्तुओं को बनाकर।
क्या आप समझा सकते हैं कि आप इसके साथ क्या कर रहे हैं? – khelll
मैं 'बुरी' पंक्तियों और स्तंभों (जो पूरी तरह से शून्य से जुड़ा हुआ है) की तलाश में हूं, और फिर मैं इसे हटाना चाहता हूं। मेरे पास पहले से ही कोड है, लेकिन पूरी तरह से Arrays के माध्यम से लिखा है। फिर भी मैं अधिक सटीक और सुंदर समाधान खोजने की कोशिश कर रहा हूं। – gmile