2011-07-20 45 views
0

現在我正在使用zip方法合併兩個平行數組;一個包含我正在使用的數據,另一個包含該數據的標籤。Ruby zip/join方法

outFile.puts failure_labels.zip(failure_percents).join("|") 

此調用給了我這樣的輸出:

Build/Compile Failure|26.67%|Unknown Failure|25.45%|User Manifest Failure|25.21 
%|Incomplete Build|2.79%|Invalid Clientspec|18.06%|Coverity System Error|0.66%| 
Do Not Use Error|0.36%|Version Failure|0.36%|Coverity Defects|0.17%|Flash Build 
Error|0.17%|Space Insufficient|0.13%|Integrate Failure|0.04% 

但我試圖做的僅僅是參加由壓縮產生的二維數組,像這樣的內部元素:

Build/Compile Failure 26.67%|Unknown Failure 25.45%|User Manifest Failure 25.21 
%|Incomplete Build 2.79%|Invalid Clientspec 18.06%|Coverity System Error 0.66%| 
Do Not Use Error 0.36%|Version Failure 0.36%|Coverity Defects 0.17%|Flash Build 
Error 0.17%|Space Insufficient 0.13%|Integrate Failure 0.04% 

有沒有辦法用本機連接做到這一點?還是我需要創建自己的功能?

感謝

回答

4

有人可能會想到的東西更聰明,但這裏有一個快速的鏡頭吧:

> a = %w(1 2 3 4 5) 
=> ["1", "2", "3", "4", "5"] 
> b = %w(a b c d e) 
=> ["a", "b", "c", "d", "e"] 
> a.zip(b).map { |ab| ab.join(" ") }.join("|") 
=> "1 a|2 b|3 c|4 d|5 e" 
+0

感謝。這很好。 –