私のScalaプログラムでは、JSONをいくつか受け取りました。慣用の治療法Option [Boolean]
フィールドの1つはオプションのブール値です。フィールドがない場合、または値がfalseの場合はNone
を返します。その値が真であれば、Some(true)
を返したいと思います。
これはNone
にSome(false)
の変換に相当しているので、私は次の関数定義されている:それは作品
def boolmap(ob: Option[Boolean]) = if(ob == Some(false)) None else ob
を、非常に慣用的ではないようです。よりエレガントなものはありますか?
あなたは二重条件にトライアディック条件を減らしています。IMOイディオムはプレーンなブール値( 'getOrElse(false)')を生成し、 'Option'をドロップすることになります –
@ 0__事はオプションを持っています後でする必要があります。 – Eduardo
'ob.isDefined'を使用して基礎となるブール値を取得できませんか? –