Currently with Ruby if you want to concatenate objects to a string,
you need to add .to_s to them

long_string = "hello"
hello += 1.3.to_f

or
long_string = "hello #{1.3}"

It would save a number of keystrokes (and make code less .to_s'y) if
strings by default called .to_s on concatenation if the incoming
object weren't a string.

long_string = "hello" + 1.3

as well as making code look cleaner, at least to this programmer's eyes.
[I do realize it calls to_str on them now--this is an RCR for that].
The drawback to defaulting to .to_s is that sometimes bugs can be
obscured [at least in the case of concatenating nil and not realizing
it].

If this is the drawback [and I think it is], then one way to
accomodate might be to raise if nil is attempted to concatenate, i.e.
"abc" + nil # boom
"abc" + 123 # uses .to_s

I realize this is just the java programmer in me coming back, but it
would have the benefits listed above.

Thoughts?
Thanks.
-=r