Смотрю тут курс Scala на coursera и вот на что наткнулся:
вот такая штука - работает:
import collection.mutable.HashMap
List('a', 'a', 'b', 'c', 'c', 'c').foldLeft(scala.collection.mutable.HashMap[Char, Int]().withDefaultValue(0))(
(r: scala.collection.mutable.Map[Char, Int], v: Char) => { r.put(v, r(v) + 1); r }
)
а вот такая - нет:
import collection.mutable.HashMap
List('a', 'a', 'b', 'c', 'c', 'c').foldLeft(HashMap[Char, Int]().withDefaultValue(0))(
(r: HashMap[Char, Int], v: Char) => { r.put(v, r(v) + 1); r }
)
говорит про лябмду следующее:
[error] found : (scala.collection.mutable.HashMap[Char,Int], Char) => scala.collection.mutable.HashMap[Char,Int]
[error] required: (scala.collection.mutable.Map[Char,Int], Char) => scala.collection.mutable.Map[Char,Int]
[error] (r: scala.collection.mutable.HashMap[Char, Int], v: Char) => { r.put(v, r(v) + 1); r }
почему так?