Il linguaggio per trattare con gli opzionali in Swift sembra eccessivamente dettagliato, se tutto ciò che vuoi fare è fornire un valore predefinito nel caso in cui sia nullo:
if let value = optionalValue {
// do something with 'value'
} else {
// do the same thing with your default value
}
che comporta inutilmente la duplicazione del codice, o
var unwrappedValue
if let value = optionalValue {
unwrappedValue = value
} else {
unwrappedValue = defaultValue
}
che richiede di unwrappedValue
non essere una costante.
La monade di Scala's Option (che è sostanzialmente la stessa idea di Swift's Optional) ha il metodo getOrElse
per questo scopo:
val myValue = optionalValue.getOrElse(defaultValue)
Mi sto perdendo qualcosa? Swift ha già un modo compatto di farlo? Oppure, in mancanza, è possibile definire getOrElse
un'estensione per Opzionale?