Scala 为什么这个速记不是';不行吗?
我正试图把地图展平。不知道为什么1)起作用,但2)不起作用 (一) (二)Scala 为什么这个速记不是';不行吗?,scala,Scala,我正试图把地图展平。不知道为什么1)起作用,但2)不起作用 (一) (二) scala>m.flatMap(列表(u._1,u._2)) :12:错误:缺少扩展函数的参数类型((x$1)=>x$1.\u 1) m、 平面图(列表(u._1,u._2)) ^ < 列表(u.\u 1,u.\u 2)相当于列表(x=>x.\u 1,x=>x.\u 2)。也就是说,使用的每个表达式都是它自己的lambda,两个lambda都作为列表的参数提供 使用快捷方式无法实现您想要的结果,因此您必须使用选项1。列表
scala>m.flatMap(列表(u._1,u._2))
:12:错误:缺少扩展函数的参数类型((x$1)=>x$1.\u 1)
m、 平面图(列表(u._1,u._2))
^
<
列表(u.\u 1,u.\u 2)
相当于列表(x=>x.\u 1,x=>x.\u 2)
。也就是说,使用的每个表达式都是它自己的lambda,两个lambda都作为列表的参数提供
使用快捷方式无法实现您想要的结果,因此您必须使用选项1。列表(u.\u 1,u.\u 2)
相当于列表(x=>x.\u 1,x=>x.\u 2)
。也就是说,使用的每个表达式都是它自己的lambda,两个lambda都作为列表的参数提供
使用\uuu
快捷方式无法实现您想要的目标,所以您必须使用选项1。“所以您必须使用选项2'您是指选项1吗?@johnsam是的,我是。或者选项3:m.flatMap{case(k,v)=>List(k,v}
“所以您必须使用选项2'您是指选项1吗?@johnsam Yep,我是。或者选项3:m.flatMap。”{case(k,v)=>List(k,v)}
scala> val m = Map(1->2, 2->4, 3->6)
m: scala.collection.immutable.Map[Int,Int] = Map(1 -> 2, 2 -> 4, 3 -> 6)
scala> m.flatMap(e => List(e._1, e._2)
| )
res11: scala.collection.immutable.Iterable[Int] = List(1, 2, 2, 4, 3, 6)
scala> m.flatMap(List(_._1,_._2))
<console>:12: error: missing parameter type for expanded function ((x$1) => x$1._1)
m.flatMap(List(_._1,_._2))
^
<