In meinem Scala-Programm erhalte ich etwas JSON.Idiomatische Art der Behandlung Option [Boolean]
Eines der Felder ist ein optionaler Boolescher Wert. Wenn das Feld fehlt oder sein Wert falsch ist, möchte ich None
zurückgeben. Wenn sein Wert wahr ist, möchte ich Some(true)
zurückgeben.
Da dies entspricht Some(false)
in None
zu konvertieren, habe ich die folgende Funktion definiert:
def boolmap(ob: Option[Boolean]) = if(ob == Some(false)) None else ob
Es funktioniert, aber es scheint nicht sehr idiomatisch zu sein. Gibt es etwas Eleganteres?
Seit Sie reduzieren eine triadische Bedingung auf eine duale Bedingung, IMO idiomatisch wäre es, einen einfachen booleschen Wert ('getOrElse (false)') zu erzeugen und die Option ' –
@ 0__ fallen zu lassen. Die Sache ist, die Option ist ziemlich praktisch für einige Verarbeitungen muss später tun. – Eduardo
Können Sie 'ob.isDefined' nicht verwenden, um den zugrunde liegenden booleschen Wert zu erhalten? –