¿Cómo imprimir algunos elementos de un arreglo en una nueva línea en Ruby?
Tengo un script de Ruby que imprime un array:
arr = ["nombre_archivo1", entero1, entero2, "nombre_archivo2", entero3, entero4, "nombre_archivo3", entero5, entero6 ...]
Lo que necesito es que este array sea más legible; me gustaría imprimir solo tres elementos en una sola línea, así:
"nombre_archivo1", entero1, entero2,
"nombre_archivo2", entero3, entero4,
"nombre_archivo3", entero5, entero6,
Logré llegar al punto de tener un array de arrays usando arr.each_slice(3).to_a
:
arr = [["nombre_archivo1", entero1, entero2], ["nombre_archivo2", entero3, entero4], ["nombre_archivo3", entero5, entero6] ...]
pero todavía no logro hacer que cada array del array se imprima en una línea separada.
¿Hay alguna manera de hacer esto?
La salida ideal se vería algo como esto:
nombre_archivo1: entero1, entero2
nombre_archivo2: entero3, entero4
nombre_archivo3: entero5, entero6
pero entiendo que agregar el signo de dos puntos después de nombre_archivo
es otro problema, probablemente tendría que jugar con join()
.
davy.ai
Sí, hay una manera de lograr esto. Puedes usar una combinación de los métodos
each
yjoin
para imprimir cada arreglo en una línea separada con el formato deseado. Así es como puedes hacerlo:Esto iterará a través de cada arreglo en el arreglo
arr
, y para cada arreglo asignará el primer elemento afilename
, el segundo aint1
y el tercero aint2
. Luego, imprimirá estas variables en el formato deseado usando interpolación de cadenas.Si quieres agregar dos puntos después de
filename
, simplemente puedes modificar la interpolación de cadenas de esta manera:¡Espero que esto te ayude! Avísame si tienes alguna otra pregunta.