Puts nil

puts nil outputs "nil". Shouldn't it output "" (ie, nothing), which
is nil.to_s?

RDoc (for IO#print, referenced by #puts):
Objects that aren't strings will be converted by calling their to_s
method

The source code specifically checks for the nil object and outputs
"nil" instead of nil.to_s . It's clearly a deliberate decision by the
developers to make nil a special case. The docs don't mention it, and
I agree that they should.

Regards,

Jeremy Henty

ยทยทยท

On 2007-02-22, S. Robert James <srobertjames@gmail.com> wrote:

puts nil outputs "nil". Shouldn't it output "" (ie, nothing), which
is nil.to_s?