Ruby-zip/join方法

Ruby-zip/join方法,ruby,multidimensional-array,Ruby,Multidimensional Array,现在我正在使用zip方法合并两个并行数组;一个包含我正在使用的数据,另一个包含该数据的标签 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%|C

现在我正在使用zip方法合并两个并行数组;一个包含我正在使用的数据,另一个包含该数据的标签

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%
但我想做的只是连接zip创建的2d数组的内部元素,类似这样:

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%
是否有任何方法可以使用本机联接实现这一点?还是我需要创建自己的函数


谢谢

也许有人会想出更聪明的办法,但这里有一个快速的尝试:

> 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"

有人可能会想到更聪明的东西,但这里有一个快速尝试:

> 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"