Scala包对象覆盖问题:值#::不是...的流成员[Stream]

时间:2017-07-14 16:40:54

标签: scala

我有以下Scala代码:

object primes {
  def from(n: Int): Stream[Int] = n #:: from(n + 1)
}

我收到错误:Error:(8, 37) value #:: is not a member of ...Stream[Int] .... def from(n: Int): Stream[Int] = n #:: from(n + 1)

我正在尝试实现Stream cons运算符#::。我该如何解决这个错误?

1 个答案:

答案 0 :(得分:3)

您确定使用的是正确的Stream吗?您应该使用的是scala.collection.immutable.Stream,尝试这样做以确保没有歧义:

object primes {
  def from(n: Int): scala.collection.immutable.Stream[Int] = n #:: from(n + 1)
}

如果可行,那么您可能在其他地方有一个import语句导入其他Stream