2012-03-15 20 views
8

Dizideki her nesneyi kendi satırında yazdırmakta olan bir dizi dizim var. Ana dizi, içinde birçok farklı insanı barındırıyor. Her kişi onlara saklanan 5 farklı nesneler (vs gibi Soyadı, Ad, DOB ..)Konsolda bir satırda dizilerden oluşan bir diziyi yazdırma (ana dizi nesnesine bir satırlık) Ruby'de

Kournikova 
Anna 
F 
6/3/1975 
Red 

Hingis 
Martina 
F 
4/2/1979 
Green 

Seles 
Monica 
F 
12/2/1973 
Black 

Ne yapmaya çalışıyorum yazımına her kişiyi ve bir hat üzerinde bunlara karşılık gelen nesneler, başına sahiptir kişi.

Bunun için bir çözümü olan var mı? Ayrıca, çıktı dizi parantez ([]) veya virgül içermemelidir. Sadece bir tel olmasının gerekip gerekmediğini veya eksik olduğum bir şey olup olmadığını merak ediyorum.

aşağıda benim kod bazıları

: yöntem koyar otomatik olarak yeni bir çizgi koyacağız

Kournikova Anna F 6/3/1975 Red 
Hingis Martina F 4/2/1979 Green 
Seles Monica F 12/2/1973 Black 
+3

denemek ve yazınıza metnin gerçek metnini ziyade görüntüleri kullanın: Eğer kopyalama ve yapıştırma için hiçbir örnek verileri hazır sağlamak için, burada uydurduğum bazı örnek kod. Ayrışmak çok daha zor. –

+0

Ve görüntü konakçı devre dışı kalırsa soru işe yaramaz hale gelir. –

+0

Yukarıdaki öneriler için düzenlenmiştir. – tandy

cevap

11
your_array.each do |person| 
    puts person.join(" ") 
end 
+0

Dizide yalnızca sayılar varsa. eğer your_array = [1, 2, 3, 4, 5]? sonra her bir öğeyi tek bir satıra nasıl yazdırırsınız –

9

:

space_array = [split_space[0],split_space[1],split_space[3],new_date,split_space[5]] 
master << space_array 
puts master 

İdeal çıktısı şu şekilde olacaktır. Metni yeni bir satır olmadan yazdırmak için yazdırmayı kullanın.

Veya isterseniz, birleştirme işlevini kullanabilirsiniz.

['a', 'b', 'c'].join(' ') 
=> 'a b c' 
3

sadece bir dizeye dış dizi ve join iç diziler adımlayabilirsiniz.

outer_array.each { |inner| puts inner.join(' ') } 
İlgili konular