これに相当するスカラーのネイティブ関数は存在しますか?ジェネリックT
についてはスカラはオプション[T]を文字列に変換します
def strConvert[T](v: Option[T]): String = {
if (v.isDefined)
v.get.toString
else
""
}
これに相当するスカラーのネイティブ関数は存在しますか?ジェネリックT
についてはスカラはオプション[T]を文字列に変換します
def strConvert[T](v: Option[T]): String = {
if (v.isDefined)
v.get.toString
else
""
}
、あなたがあればとmap
回避することができます - v.map(_.toString).getOrElse("")
Option
がモナドです。 FPでは、モナドを扱う際に、モナドが状態(すなわち、None
以外の値)を含んでいる場合に、何を起こしたいかを定義します。それ以外の場合は、あなたは移動します。 map
関数内
val ostring: Option[String] = functionThatGetsOptionString()
ostring.map { s =>
functionThatUsesString(s)
}
、Option
はOption
がNone
であれば、それ以外の場合は内側本体を実行しませんSome(String)
ある場合s
は生の文字列を含むことになります。
scala> Some(1).fold("")(_.toString)
res0: String = 1
scala> None.fold("")(_.toString)
res1: String = ""
@JordanParmer OPは、そのT ==文字列は言及していませんでした。 –
良い点 - それを実現しました。ありがとう。 –