【发布时间】:2021-06-17 03:24:04
【问题描述】:
我正在使用 Scala 2.11.12 和此声明进行编译:
import scala.collection.mutable.Stack
def stackToInt(stack: Stack[Int]): Int =
stack.zipWithIndex.fold(0){ case (z: Int, (piece: Int, index: Int)) =>
piece match {
case 1 => (1 << index) + z
case _ => z
}
}
给予:
stack.zipWithIndex.fold(0){ case (z: Int, (piece: Int, index: Int)) =>
^
error: type mismatch;
found : Any
required: Int
在这个项目(Scala 中的第一个)中编写折叠时,我一直在处理类似的事情很多次,我总是找到一种不同的方法来使它工作,但也许如果我理解它,我将不再碰壁.
【问题讨论】:
标签: scala types type-inference fold type-mismatch