2010-06-30 11 views
7

अन्य नेस्टेड सरणी वाले सरणी को देखते हुए, मैं केवल सरणी के तत्वों वाला एक सरणी बनाना चाहता हूं। उदाहरण के लिए [["1", "2"], "3", [["4"]]] का मूल्यांकन ["1", "2", "3", "4"] होना चाहिए।नेस्टेड सरणी के कार्यात्मक अनैपिंग

मैं एक विधि है कि काम करता है बनाने के लिए प्रबंधित किया है:

@@unwrapped_array = [] 
def unwrap_nested_array(array) 
    if array.respond_to?('each') 
    array.each { |elem| unwrap_nested_array(elem) } 
    else 
    @@unwrapped_array.push array 
    end 
end 

लेकिन मैं @@ unwrapped_array चर को खत्म करने के लिए कैसे पता लगाने के लिए नहीं कर पाए हैं।

उत्तर

10
[["1", "2"], "3", [["4"]]].flatten 
# => ["1", "2", "3", "4"] 
+0

धन्यवाद! मुझे पता था कि एक आसान जवाब था, बस इतना आसान नहीं था :) – Prisen