2016-11-21 35 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

不用擔心。你的回答非常優雅。 –

相關問題