2012-03-15 19 views
8

Tengo una matriz de matrices que está imprimiendo cada objeto en la matriz en su propia línea. La matriz maestra tiene muchas personas diferentes dentro de ella. Cada persona tiene diferentes objetos 5 almacenados a ellos (por ejemplo, apellido, nombre de pila, etc .. DOB)Imprimir una matriz de matrices en una línea en la consola (una línea por objeto matriz principal) en Ruby

Kournikova 
Anna 
F 
6/3/1975 
Red 

Hingis 
Martina 
F 
4/2/1979 
Green 

Seles 
Monica 
F 
12/2/1973 
Black 

Lo que estoy tratando de hacer es imprimir cada persona y sus correspondientes objetos en una línea, por persona.

¿Alguien tiene una solución para esto? Además, la salida no debe contener corchetes de matriz ([]) o comas. Me pregunto si simplemente tendrá que ser una cadena, o si hay algo que me falta.

Algunos de mi código de abajo:

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

La salida ideal sería algo como esto:

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

Por favor, tratar de utilizar el texto real en lugar de imágenes de texto en su puesto. Es mucho más difícil de analizar. –

+0

Y si el host de la imagen se desconecta, la pregunta se vuelve inútil. –

+0

Editado para las sugerencias anteriores. – tandy

Respuesta

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

¿Qué pasa si la matriz contiene solo números? if your_array = [1, 2, 3, 4, 5]? entonces, ¿cómo se imprime cada elemento en una sola línea? –

9

Los pone método pondrán automáticamente una nueva línea. Use imprimir en su lugar para imprimir el texto sin una nueva línea.

O si lo desea, puede utilizar la función de unión.

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

Usted sólo puede iterar sobre la matriz externa y join las matrices internas en una cadena. Dado que usted proporciona no hay datos de ejemplo listos para copiar y pegar, aquí hay un código de ejemplo que inventé:

outer_array.each { |inner| puts inner.join(' ') } 
Cuestiones relacionadas