Scala Language Abbinamento su un'opzione


Esempio

Se stai abbinando su un tipo di opzione :

def f(x: Option[Int]) = x match {
    case Some(i) => doSomething(i)
    case None    => doSomethingIfNone
}

Questo è funzionalmente equivalente all'uso di fold o map / getOrElse :

def g(x: Option[Int]) = x.fold(doSomethingIfNone)(doSomething)
def h(x: Option[Int]) = x.map(doSomething).getOrElse(doSomethingIfNone)