प्रश्न, अनिवार्य रूप से, "रूबी में सरणियों को कैसे बदलना है"। स्वाभाविक रूप से उत्तर का उपयोग करना है concat
या +
जैसा कि लगभग हर उत्तर में उल्लेख किया गया है।
प्रश्न के लिए एक स्वाभाविक विस्तार "रूबी में 2 डी सरणियों के पंक्ति-वार प्रदर्शन कैसे किया जाए" होगा। जब मैंने "रूबी कॉन्टेनेट मेट्रिसेस" को गुगली किया, तो यह एसओ प्रश्न शीर्ष परिणाम था, इसलिए मैंने सोचा कि मैं अपना उत्तर उस (अप्रकाशित लेकिन संबंधित) प्रश्न के उत्तर के लिए यहां छोड़ दूंगा।
कुछ अनुप्रयोगों में आप पंक्ति के अनुसार दो 2D सरणियों को "संक्षिप्त" करना चाहते हैं। कुछ इस तरह,
[[a, b], | [[x], [[a, b, x],
[c, d]] | [y]] => [c, d, y]]
यह एक मैट्रिक्स को "बढ़ाने" जैसा कुछ है। उदाहरण के लिए, मैंने इस तकनीक का इस्तेमाल एक एकल सन्निकट मैट्रिक्स बनाने के लिए किया, ताकि छोटे मैट्रिसेस के एक समूह से बाहर ग्राफ का प्रतिनिधित्व किया जा सके। इस तकनीक के बिना मुझे घटकों के बारे में इस तरह से चलना होगा, जिसके बारे में सोचने में त्रुटि हो सकती है या निराशा हो सकती है। each_with_index
उदाहरण के लिए मुझे ए करना पड़ा होगा । इसके बजाय मैंने ज़िप और सपाट को निम्न प्रकार से संयोजित किया,
# given two multi-dimensional arrays that you want to concatenate row-wise
m1 = [[:a, :b], [:c, :d]]
m2 = [[:x], [:y]]
m1m2 = m1.zip(m2).map(&:flatten)
# => [[:a, :b, :x], [:c, :d, :y]]