transposeを使用して、転置された配列の要素を結合できます (何が起こっているかを明確に示すために数字を変更しました)。
# edited to add a transpose with map, thank you @Mladen
# edited to get rid of <<'s, thank you @tokland
# assumption:
a = [ ['(', '(', '(', '(', '('],
[1.1, 1.2, 1.3, 1.4, 1.5],
['+', '+', '+', '+', '+'],
[2.1, 2.2, 2.3, 2.4, 2.5],
[')', ')', ')', ')', ')'] ]
# transpose:
b = []
a.transpose.each { |c| b.push c.join }
# or, transpose with map:
b = a.transpose.map { |c| c.join }
# test:
puts b.inspect
出力は次のとおりです。
["(1.1+2.1)", "(1.2+2.2)", "(1.3+2.3)", "(1.4+2.4)", "(1.5+2.5)"]