ruby 1.9 jak przekonwertować tablicę na łańcuch bez nawiasów
Moje pytanie dotyczy sposobu konwertowania elementów tablicy na łańcuch w rubinie 1.9 bez pobierania nawiasów i cudzysłowów. Mam tablicę (wyciąg DB), z której chcę użyć do utworzenia raportu okresowego.
myArray = ["Apple", "Pear", "Banana", "2", "15", "12"]
W rubinie 1.8 miałem następujący wiersz
reportStr = "In the first quarter we sold " + myArray[3].to_s + " " + myArray[0].to_s + "(s)."
puts reportStr
Co spowodowało (pożądane) wyjście
W pierwszym kwartale sprzedaliśmy 2 komputery Apple.
Te same dwie linie w produkcji ruby 1.9 (nie są potrzebne)
W pierwszym kwartale sprzedaliśmy ["2"] ["Apple"] (s).
Po przeczytaniu w dokumentacjiRuby 1.9.3 doc # Array # slice Myślałem, że mogę stworzyć kod podobny do tego
reportStr = "In the first quarter we sold " + myArray[3] + " " + myArray[0] + "(s)."
puts reportStr
który zwraca błąd wykonania
/home/test/example.rb:450:in `+ ': nie można przekonwertować tablicy na String (TypeError)
Moje obecne rozwiązanie polega na usuwaniu nawiasów i cudzysłowów za pomocą tymczasowego ciągu, na przykład
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
co ogólnie działa.
Jednak jaki byłby bardziej elegancki sposób „rubinowy”, jak to zrobić?