2016-09-27 85 views
1

我正在尝试使用Scalaz运算符| + |在这个问题的建议Scalaz无法解析符号| + |,未使用的导入语句

Best way to merge two maps and sum the values of same key?

import scalaz._ 

val map1 = Map("a" -> 1,"b" -> 2, "c" -> 5) 
val map2 = Map("a" -> 3,"b" -> 4) 
val map3 = map1 |+| map2 

的IntelliJ说| + |无法解析符号,import.scalaz._未被使用。 SBT似乎工作得很好,导入语句看起来有效,但在这里它只是为了以防万一。

"org.scalaz" %% "scalaz-core" % "7.2.6" 

这是怎么回事?

回答

2

进口都在Scalazscalaz._Scalaz._

import scalaz._ 
import Scalaz._ 

通知S在第二进口大写字母

斯卡拉REPL

scala> import scalaz._ 
import scalaz._ 

scala> import Scalaz._ 
import Scalaz._ 

scala> val map1 = Map("a" -> 1,"b" -> 2, "c" -> 5) 
map1: Map[String, Int] = Map("a" -> 1, "b" -> 2, "c" -> 5) 

scala> val map2 = Map("a" -> 3,"b" -> 4) 
map2: Map[String, Int] = Map("a" -> 3, "b" -> 4) 

scala> val map3 = map1 |+| map2 
map3: Map[String, Int] = Map("a" -> 4, "b" -> 6, "c" -> 5) 
+0

谢谢,仅此而已。 – Tengansui