以下是我的示例源代码:
// Broken.scala
def fibFrom(a: Int, b: Int): Stream[Int] = a #:: fibFrom(b, a + b)
println(fibFrom(0,1).take(10).toList)
当我在解释器中单独运行这些语句时,一切正常。
scala> def fibFrom(a: Int, b: Int): Stream[Int] = a #:: fibFrom(b, a + b)
fibFrom: (a: Int, b: Int)Stream[Int]
scala> println(fibFrom(0,1).take(10).toList)
List(0, 1, 1, 2, 3, 5, 8, 13, 21, 34)
但是,当我将文件本身传递给解释器时,它会挂起。
$ scala Broken.scala
^C
$
scala -help
文档表明Scala源是scala
的有效输入,所以我做错了什么?
答案 0 :(得分:2)
对我来说很好。我认为您可能遇到尝试启动后台编译器的scala
命令的问题,这就是Scala脚本的处理方式。
这是在某些操作系统或某些安全软件/设置上发生的问题。从[1]开始:
您可能想要了解两件事。首先,
hostname
必须 解析主机的IP地址 - 即使它是127.0.0.1。第二,那里 可能是一个运行导致麻烦的fsc守护进程。尝试运行fsc -shutdown。
[1] http://grokbase.com/t/gg/scala-user/12bkn165h9/cannot-execute-hello-world-script