如何将数组转换为字符串,列出其在数组中的位置旁边的每个项目?

时间:2015-06-17 20:27:09

标签: arrays ruby string string-interpolation

我想拍摄一个阵列......     communication

...并将其转换为字符串...     teams = ["Cowboys", "Heat", "Blue Devils"]

...并使用字符串插值将其与另一个字符串连接起来。

# => "1. Cowboys 2. Heat 3. Blue Devils"

2 个答案:

答案 0 :(得分:0)

使用each_with_index

teams = ["Cowboys", "Heat", "Blue Devils"]
numbered = teams.each_with_index.map { |team, i| "#{i + 1}. #{team}" }.join(" ")
# => "1. Cowboys 2. Heat 3. Blue Devils"

然后你可以插入:

fave_teams = "My #{teams.size} favorite teams: #{numbered}"

each_with_index添加每个元素的位置并返回一个可以用块映射的枚举器。该块接收每个项目及其索引。

答案 1 :(得分:0)

teams.map.with_index(1) do |t, i|
  "#{ i }. #{ t }"
end.join( ' ' )