Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.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中映射的可选元组_Scala_Dictionary_Tuples_Optional_Scala Collections - Fatal编程技术网

要在Scala中映射的可选元组

要在Scala中映射的可选元组,scala,dictionary,tuples,optional,scala-collections,Scala,Dictionary,Tuples,Optional,Scala Collections,如果我有一个元组列表,我可以使用toMap转换为映射: val x = (3 -> 3) List(x).toMap 我得到 scala.collection.immutable.Map[Int,Int] = Map(3 -> 3) 如果我有一个可选列表,并尝试相同的方法,我会得到一个错误: val x = Some(3 -> 3) val y = None List(x, y).toMap <console>:15: error: Cannot prove

如果我有一个元组列表,我可以使用
toMap
转换为映射:

val x = (3 -> 3)
List(x).toMap
我得到

scala.collection.immutable.Map[Int,Int] = Map(3 -> 3)
如果我有一个可选列表,并尝试相同的方法,我会得到一个错误:

val x = Some(3 -> 3)
val y = None
List(x, y).toMap

<console>:15: error: Cannot prove that Some[(Int, Int)] <:< (T, U).
valx=Some(3->3)
val y=无
列表(x,y).toMap

:15:错误:无法证明某些[(Int,Int)]您可以使用
列表上的
展平
删除
s:

val x = Some(3 -> 3)
val y = None
List(x, y).flatten.toMap

> scala.collection.immutable.Map[Int,Int] = Map(3 -> 3)

您可以使用
列表上的
plant
删除
None
s:

val x = Some(3 -> 3)
val y = None
List(x, y).flatten.toMap

> scala.collection.immutable.Map[Int,Int] = Map(3 -> 3)

您希望得到什么样的结果?我希望得到与以前相同的结果,转换x并忽略y,因为它是一个无:scala.collection.immutable.Map[Int,Int]=Map(3->3)您希望得到什么样的结果?我希望得到与以前相同的结果,转换x并忽略y,因为它是一个无:scala.collection.immutable.Map[Int,Int]=映射(3->3)注意,在这种情况下,存在从
选项
列表
的隐式转换。注意,在这种情况下,存在从
选项
列表
的隐式转换。