2

我一直在尝试将 Bloxorz 作业作为Scala 功能程序设计课程的一部分,并一直在尝试向 Stream 添加一个元素,如下所示,但我得到了:

无法解析符号#::

这段代码中有一些非常小的、明显的错误。我在这里做错了什么?

def neighborsWithHistory(b: Block, history: List[Move]): Stream[(Block, List[Move])] = {
  (b.neighbors foldLeft Stream((b, history))) {
    case (acc, (bl, move)) => acc #:: (bl, move :: history)
  }
}
4

1 回答 1

2

以冒号结尾的方法是右结合的。由于#::定义为 a ConsWrapperon a Stream,因此您acc需要在右侧:

(bl, move :: history) #:: acc
于 2016-06-26T13:11:56.820 回答