Eclipse不解析scala的前向引用

时间:2013-10-08 12:12:59

标签: eclipse scala fibonacci

我想使用这个scala特定表达式构建Fibonacci序列:

val fibs: Stream[Int] = 0 #:: 1 #:: fibs.zip(fibs.tail).map { n => n._1 + n._2 }

但是eclipse编译器抱怨前向引用:

  

前向参考扩展了价值纤维的定义

有了这个问题,我无法在eclipse中运行main方法。

我该如何解决?

修改 我试图在工作表,main,方法和REPL中声明它。最后一个完美无缺。

1 个答案:

答案 0 :(得分:0)

这是工作表的限制。如果你将它放在一个单独的类或方法中,它应该可以工作。

[编辑]

fibs需要成为一个领域。如果它是局部val,则需要延迟修饰符。

这应该有效:

 def foo {
   lazy val fibs: Stream[Int] = 0 #:: 1 #:: fibs.zip(fibs.tail).map { n => n._1 + n._2 }
 }

class C {
  val fibs: Stream[Int] = 0 #:: 1 #:: fibs.zip(fibs.tail).map { n => n._1 + n._2 }
}