ruby 1.9 cómo convertir un array en una cadena sin corchetes
Mi pregunta es sobre cómo convertir elementos de matriz en cadena en ruby 1.9 sin obtener los corchetes y las comillas. Tengo una matriz (extracto de base de datos), desde la que quiero usar para crear un informe periódico.
myArray = ["Apple", "Pear", "Banana", "2", "15", "12"]
En rubí 1.8 tuve la siguiente línea.
reportStr = "In the first quarter we sold " + myArray[3].to_s + " " + myArray[0].to_s + "(s)."
puts reportStr
Lo que produjo la salida (deseada).
En el primer trimestre vendimos 2 Apple (s).
Las mismas dos líneas en rubí 1.9 producen (no queridas)
En el primer trimestre vendimos ["2"] ["Apple"] (s).
Después de leer la documentación.Ruby 1.9.3 doc # Array # slice Pensé que podría producir código como
reportStr = "In the first quarter we sold " + myArray[3] + " " + myArray[0] + "(s)."
puts reportStr
que devuelve un error de tiempo de ejecución
/home/test/example.rb:450:in `+ ': no puede convertir Array en String (TypeError)
Mi solución actual es eliminar los corchetes y las comillas con una cadena temporal, como
tempStr0 = myArray[0].to_s
myLength = tempStr0.length
tempStr0 = tempStr0[2..myLength-3]
tempStr3 = myArray[3].to_s
myLength = tempStr3.length
tempStr3 = tempStr3[2..myLength-3]
reportStr = "In the first quarter we sold " + tempStr3 + " " + tempStr0 + "(s)."
puts reportStr
que en general funciona.
Sin embargo, ¿cuál sería una forma más elegante de "rubí" cómo hacer eso?