Idiomatischer Art der Behandlung Option[Boolean]

In mein Scala-Programm, ich erhalte einige JSON.

Eines der Felder ist ein optionaler Boolean-Wert. Wenn das Feld fehlt, oder wenn der Wert false ist, würde ich gerne zurück None. Wenn sein Wert true ist, würde ich gerne zurück Some(true).

Da dies ist äquivalent zu konvertieren Some(false) in None, ich habe die folgende Funktion:

def boolmap(ob: Option[Boolean]) = if(ob == Some(false)) None else ob

Es funktioniert, aber es scheint nicht sehr idiomatisch. Gibt es etwas eleganteres?

Seit Sie reduzieren eine dreifache Bedingung, um eine doppelte Bedingung, IMO idiomatischer wäre zu produzieren, die einen einfachen boolean (getOrElse(false)) und drop die Option
Die Sache ist die mit die Option ist ganz praktisch für einige der Verarbeitung habe ich später machen.
Konnte Sie nicht verwenden ob.isDefined um die zugrunde liegende Boolesche Wert?
Aber zurück None für Some(false)?
Würde es, sehe ich Ihren Punkt.

InformationsquelleAutor Eduardo | 2013-06-18

Schreibe einen Kommentar