コンテンツにスキップ

if var.nil?

ifの条件がvar.nil?のようになっていると、コンパイラはthen節ではvarNil型だと判断して、elseではNil型以外の型だと判断します。

a = some_condition ? nil : 3
if a.nil?
  # ここで a は Nil 型
else
  # ここで a は Int32 型
end