Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can self ever be false or nil?

Can self ever evaluate to false or nil?

For example...

class FooBar

  ...

  def check_this
    self && check_something_else
  end
end

Is the self && in this conditional necessary?

like image 840
abaldwin99 Avatar asked Nov 29 '22 23:11

abaldwin99


1 Answers

Yes. Remember everything in Ruby is an object so self is falsy for false and nil:

nil.instance_eval { self }  # => nil
false.instance_eval { self }  # => false
like image 102
Anthony E Avatar answered Dec 07 '22 00:12

Anthony E