无法解析Scala中的流的符号#:: error

时间:2016-06-26 13:04:13

标签: scala scala-streams

我一直在尝试将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)
  }
}

1 个答案:

答案 0 :(得分:2)

以冒号结尾的方法是right associative。由于#::上的ConsWrapper定义为Stream,因此acc需要位于右侧:

(bl, move :: history) #:: acc