$ rvm use 1.8.7
$ ruby -e'puts [1, "a"].to_s'
1a
$ rvm use 1.9
$ ruby -e'puts [1, "a"].to_s'
[1, "a"]
I've been working on converting my client's Rails App to Ruby 1.9.
It's been fairly painless, but there have been a few stumbling blocks. One has been the use of arrays within string interpolations, and the difference in the result
Prior to Ruby 1.9 Array#to_s was a synonym for Array.join which resulted in the concatenation of the results of sending to_s to each element. In Ruby 1.9 Array#to_s is the same as Array#inspect.
This has had a tendency to produce subtle problems which are at time hard to track down. Once they are found, the solution is to do something like changing:
to:
"Whatever #{some_array.join}"