2010-06-30 62 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 2010-06-30 20:39:09