nil?

The pseudo-method nil? determines whether an expression’s runtime type is Nil. For example:

  1. a = 1
  2. a.nil? # => false
  3. b = nil
  4. b.nil? # => true

It is a pseudo-method because the compiler knows about it and it can affect type information, as explained in if var.nil?(…).

It has the same effect as writing is_a?(Nil) but it’s shorter and easier to read and write.