0
有沒有辦法將Map
轉換爲Traverse
?如何將地圖轉換爲遍歷
目的是致電map.traverseS(…)
。
錯誤是
<console>:16: error: value traverseS is not a member of scala.collection.immutable.Map[String,Int]
有沒有辦法將Map
轉換爲Traverse
?如何將地圖轉換爲遍歷
目的是致電map.traverseS(…)
。
錯誤是
<console>:16: error: value traverseS is not a member of scala.collection.immutable.Map[String,Int]
Map
已經擁有了Traverse
實例:
import scalaz._, Scalaz._
val m = Map(1 → "a", 2 → "b")
println(m.traverseS({ s => State({ f: Float => (f, s+f) }) }).run(1.0f))
打印
(1.0,Map(1 -> a1.0, 2 -> b1.0))
如果你想遍歷(鍵,值)對,你可以使用.toList
println(m.toList.traverseS({
case (k, v) => State({ f: Float => (f + k, v + f) }) }).run(1.0f))
打印
(4.0,List(a1.0, b2.0))
我有以下錯誤: 錯誤:無法找到參數F0隱含值:scalaz.Traverse [scala.collection.immutable.Iterable] 的println(米。 traverseS({s => State({f:Float =>(f,s + f)})})。run(1.0f)) – 2014-10-06 13:32:50
您是否依賴scalaz 7.1?你有這裏的進口嗎? – lmm 2014-10-06 15:21:53
相同的進口。 scalaz 7.0.4 – 2014-10-06 20:49:35