obj.nil? vs. obj == nil

Danish Khan picture Danish Khan · Dec 29, 2009 · Viewed 16.6k times · Source

Is it better to use obj.nil? or obj == nil and what are the benefits of both?

Answer

OscarRyz picture OscarRyz · Dec 29, 2009

Is it better to use obj.nil? or obj == nil

It is exactly the same. It has the exact same observable effects from the outside ( pfff ) *

and what are the benefits of both.

If you like micro optimizations all the objects will return false to the .nil? message except for the object nil itself, while the object using the == message will perform a tiny micro comparison with the other object to determine if it is the same object.

* See comments.