Следующий код не может сделать что-то полезное, так как после if
, actualThingIWant
не всегда определяется и, следовательно, этот код не будет компилироваться, если вы попытаетесь использовать actualThingIWant
позже.
val opt = somethingReturningAnOpt
if (opt.isDefinedAt) {
val actualThingIWant = opt.get
}
Итак, вы должны указать значение по умолчанию.Это может быть достигнуто с помощью getOrElse
:
val thingIWant = opt.getOrElse(myDefaultValue)
Или если вы не хотите иметь actualThingIWant
после тела if
, что означает, что вы хотите вызвать только некоторые побочные эффектыесли опция определена, вы можете написать:
opt.foreach{ thingIWant =>
println(thingIWant)
}
или чуть короче
opt.foreach(println)