2016-11-21 47 views
5

我是ruby的新手,我正在尝试制作一个程序,可以自动对给定的字符串和数组进行格式化。一个自动格式函数我试图找出一个数组。所以我们可以说我有一个像下面把一个红宝石数组变成一个整齐的列字符串?

myArray = ["a", "b", "c"] 

的例子阵列,我希望把它变成一个栏目化字符串,以便puts myString会给

`1) a` 
`2) b` 
`3) c` 

我怎么会去这样做呢?我能找到的最接近的东西是使用.each这不是我想要的,我不能让每行都有单独的条目。这一切都必须是一个带换行符的字符串。

任何帮助,将不胜感激,在此先感谢

+0

这个'myArray.each_with_index.map {什么|我,j | “#{i + 1})#{j}”}} join(“\ n”)' –

回答

9

您可以使用.map.with_index

myArray = ["a", "b", "c"] 

myStr = myArray.map.with_index(1) { |el, i| "#{i}) #{el}" }.join("\n") 
puts myStr 

输出:

1) a 
2) b 
3) c 
+0

对于OP的用例,您希望'#{i + 1}',但这是一个很好的答案。 –

+1

啊好 - 赶快 - 谢谢。 – Anthony

+0

不用担心。你的回答非常优雅。 –

相关问题