Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala将选项[T]转换为字符串_Scala - Fatal编程技术网

Scala将选项[T]转换为字符串

Scala将选项[T]转换为字符串,scala,Scala,scala中是否存在与此等效的本机函数 def strConvert[T](v: Option[T]): String = { if (v.isDefined) v.get.toString else "" } 对于泛型T,可以避免使用map--v.map(u.toString)。getOrElse(“”选项是单子。在FP中,当使用monad时,您可以定义如果monad包含一个状态(即除None之外的值),您希望发生什么。否则,你就继续前进 val os

scala中是否存在与此等效的本机函数

def strConvert[T](v: Option[T]): String = {
    if (v.isDefined)
      v.get.toString
    else
      ""
}

对于泛型
T
,可以避免使用
map
--
v.map(u.toString)。getOrElse(“”
选项
是单子。在FP中,当使用monad时,您可以定义如果monad包含一个状态(即除
None
之外的值),您希望发生什么。否则,你就继续前进

val ostring: Option[String] = functionThatGetsOptionString()

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

map
函数中,如果
选项
Some(string)
,则
s
将包含原始字符串,否则如果
选项
None

@JordanParmer OP没有提到t==string,它将不会执行内部主体
scala> Some(1).fold("")(_.toString)
res0: String = 1

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