Hold a value that may be missing with Option.

Option Basics

OptionBasics.scala
object Main {
  def main(args: Array[String]): Unit = {
    val raw = 
    val maybe: Option[Int] = if (raw > 0) Some(raw) else None
    val present = maybe.isDefined
    val value = maybe.getOrElse(0)

    println("present=" + present)
    println("value=" + value)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val raw = 
    val maybe: Option[Int] = if (raw > 0) Some(raw) else None
    val present = maybe.isDefined
    val value = maybe.getOrElse(0)

    println("present=" + present)
    println("value=" + value)
  }
}
object Main {
  def main(args: Array[String]): Unit = {
    val raw = 
    val maybe: Option[Int] = if (raw > 0) Some(raw) else None
    val present = maybe.isDefined
    val value = maybe.getOrElse(0)

    println("present=" + present)
    println("value=" + value)
  }
}
option-basics An `Option[Int]` is either `Some(value)` or `None`. `isDefined` reports whether a value is present, and `getOrElse` supplies a fallback when it is missing.