2015-09-17 6 views

答えて

10

、あなたがあればとmap回避することができます - v.map(_.toString).getOrElse("")

+0

@JordanParmer OPは、そのT ==文字列は言及していませんでした。 –

+0

良い点 - それを実現しました。ありがとう。 –

3

Optionがモナドです。 FPでは、モナドを扱う際に、モナドが状態(すなわち、None以外の値)を含んでいる場合に、何を起こしたいかを定義します。それ以外の場合は、あなたは移動します。 map関数内

val ostring: Option[String] = functionThatGetsOptionString() 

ostring.map { s => 
    functionThatUsesString(s) 
} 

OptionOptionNoneであれば、それ以外の場合は内側本体を実行しませんSome(String)ある場合sは生の文字列を含むことになります。

3
scala> Some(1).fold("")(_.toString) 
res0: String = 1 

scala> None.fold("")(_.toString) 
res1: String = ""