string differences between ruby 1.8 & 1.9.3

Using Rails 3.1.1 and trying to switch over to Ruby 1.9.3-p125 (I've got 1.9.3-p125 running via NGINx and 1.8.7 running via webrick so I can side by side).

I've got the following in my 'host' model (activeldap but I don't that matters)
  def hostipnumbers_columnized
    if self.ipHostNumber == nil then
      results = []
    else
      results = self.ipHostNumber.to_a.sort {|a,b| a <=> b }.collect { |ipnumber| ipnumber + "\n" }
    end
    return results
  end

# Note: had to add '.to_a' to the method because sort is no longer a string option and in 1.8.7 when only 1 ipHostNumber is returned, it's just a simple string but ruby 1.8.7 never complained but ruby 1.9.3 comes to a screeching halt

Anyway, in my view, I've got...

  <%= text_area 'host', 'hostipnumbers_columnized', :cols => '30', :rows => '8' %>

which when running on 1.8.7 was never an issue. Each ip address was put onto a new line because of the '\n' like this:
10.200.0.100
208.100.300.100

but when running on 1.9.3-p125 the text_area shows the array with all of it's raw markup like this:
["10.200.0.100\n", "208.100.300.100\n"]

I've done various things such as flattening, joining, etc. the hostipnumbers_columnized but it appears impossible to get them to display on individual lines in ruby-1.9.3 - without even considering code that will work equally as well with 1.8.7

Any suggestions?

join() seems to work fine for making the string suitable:

$ irb
ruby-1.9.3-head :001 > x = ["10.200.0.100\n", "208.100.300.100\n"]
=> ["10.200.0.100\n", "208.100.300.100\n"]
ruby-1.9.3-head :002 > x.join
=> "10.200.0.100\n208.100.300.100\n"
ruby-1.9.3-head :003 > puts x.join
10.200.0.100
208.100.300.100
=> nil
ruby-1.9.3-head :004 > ^D

Would it cause problems elsewhere if hostipnumbers_columnized were to
return results.join? What do you get in the text_area if you do that?

-Dave

Each ip address was put onto a new line because of the '\n' like this:
10.200.0.100
208.100.300.100

but when running on 1.9.3-p125 the text_area shows the array
with all of it's raw markup like this:
["10.200.0.100\n", "208.100.300.100\n"]

I've done various things such as flattening, joining, etc. the
hostipnumbers_columnized but it appears impossible to get them to
display on individual lines in ruby-1.9.3 - without even considering
code that will work equally as well with 1.8.7

Any suggestions?

join() seems to work fine for making the string suitable:

$ irb
ruby-1.9.3-head :001 > x = ["10.200.0.100\n", "208.100.300.100\n"]
=> ["10.200.0.100\n", "208.100.300.100\n"]
ruby-1.9.3-head :002 > x.join
=> "10.200.0.100\n208.100.300.100\n"
ruby-1.9.3-head :003 > puts x.join
10.200.0.100
208.100.300.100
=> nil
ruby-1.9.3-head :004 > ^D

Would it cause problems elsewhere if hostipnumbers_columnized were to
return results.join? What do you get in the text_area if you do that?

For the simple reason that single quotes in Ruby do not allow for string interpolation (such as \r and \n), while double quotes do.

sure but that was in the model and by the time the 'string' reached the view, the \r and \n were 'bare' (no quotes) so in my mind, they should not have been a factor at all.