2017-07-14 54 views
1

我有以下Scala代码:斯卡拉包对象覆盖问题:值#::不是流... [INT]成员

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运算符#::。我该如何解决这个错误?

+0

此代码适用于'2.11.11'。你确定你正在使用'scala.collection.immutable.Stream'吗? – Tyler

+0

我正在使用Scala版本2.12.1。 – MLev

+0

我也尝试导入'scala.collection.immutable.Stream._',但它说它在文件中未被使用。 – MLev

回答

3

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

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

如果这样的作品,那么你可能有一个import声明其他地方是进口一些其他Stream