组合数组并转换为字符串

时间:2014-04-25 12:04:07

标签: ruby arrays string

如何组合数组并将其转换为字符串?我有两个数组:

a = ["09:00", "10:00", "11:00", "12:00"]
b = ["09:30", "10:30", "11:30", "12:30"]

如何以此格式获取结果字符串?

c = '"09:00" - "09:30", "10:00" - "10:30", "11:00" - "11:30", "12:00" - "12:30"'

4 个答案:

答案 0 :(得分:6)

我做:

a = ["09:00", "10:00", "11:00", "12:00"]
b = ["09:30", "10:30", "11:30", "12:30"]
a.zip(b).map { |e1,e2| "\"#{e1}\" - \"#{e2}\"" }.join(', ')

答案 1 :(得分:2)

这应该有效:

a.zip(b).map { |e1, e2| "\"#{e1}\" - \"#{e2}\"" }.join(', ')

答案 2 :(得分:1)

怎么样:

a.zip(b).map { |e1, e2| "'#{e1}' - '#{e2}'" }.join(', ')

答案 3 :(得分:0)

你可以通过以下方式实现这一目标:

a.each_with_index.map {|e,i| "#{e} - #{b[i]}"}

> a = ["09:00", "10:00", "11:00", "12:00"]
 => ["09:00", "10:00", "11:00", "12:00"]
> b = ["09:30", "10:30", "11:30", "12:30"]
 => ["09:30", "10:30", "11:30", "12:30"]
> a.each_with_index.map {|e,i| "#{e} - #{b[i]}"}.join(', ')
 => "\"09:00\" - \"09:30\", \"10:00\" - \"10:30\", \"11:00\" - \"11:30\", \"12:00\" - \"12:30\""