I was hoping someone could help me with identifying the most idiomatic way to test if a variable is nil or false implicitly for the sake of readability. 

Here is my explicit example:

```
if somevar.nil? # explicitly checking for nil.
  puts "Its nil."
end

```

Is it better to write:

```
if !somevar # implicit
  puts "Var is nil or false."
end

```

I really like this way:

```
if not somevar # implicit
  puts "Var is nil or false"
end 

```

From what I am reading, testing for `nil` explicitly should be avoided to some extent as its generally not needed. Most examples suggest to take action only if a variable exists. However, I want to perform an action when a variable does not exist. 

Main inspiration for ditching nil came from: [ruby\_idioms](https://code.google.com/p/tokland/wiki/RubyIdioms)