2016-11-21 39 views
5

Ben yakut yeniyim ve bana verilen dizeleri ve diziler için biçimlendirme otomatikleştirir bir program yapmaya çalışıyorum. Anlamaya çalışıyorum bir autoformat işlevi diziler için biridir. Yani benBir ruby ​​dizisini temiz bir sütun dizesine dönüştürün?

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

aşağıdaki örnekte olduğu gibi bir dizi var ve bunu hakkında gitmek nasıl

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

verecektir puts myString böylece columnized dize çevirmek istediğinizi varsayalım? Bulabileceğim yakın şey değil istediğim budur .each kullanıyor, ben her bir satırı ayrı bir giriş olamaz. Hepsi satır sonu olan bir dizgedir.

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

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

Çıkışlar:

Herhangi bir yardım

+0

Ne | ben, j | "# {I + 1}) # {j}"}. Katılabilir ("\ n") ' –

cevap

9

Sen .map.with_index ile kullanabileceğiniz, önceden teşekkürler duyacağız

bu `myArray.each_with_index.map {yaklaşık
1) a 
2) b 
3) c 
+0

OP'ın kullanım durumunda için,' # {i + 1} 'isterdim, ama bu büyük bir cevaptır. –

+1

Ah iyi yakala - teşekkür ederim. – Anthony

+0

Endişeye gerek yok. Cevabınız oldukça zarif. –