斯卡拉给我“非法开始定义”

我正在尝试开始使用Scala,无法离开起点。

由该行组成的文件

package x 

给我

错误:非法开始定义

不pipex是什么,也不pipe我把文件放在哪里(我有一个理论,我必须将文件放在目录层次结构中以匹配包定义,但是不包含)。 我从网站和REPL中得到与示例代码相同的错误。

它看起来像你试图声明Scala脚本(运行使用scala命令)或在REPL中的package成员身份。

只有定义类和用scalac编译的对象的文件可以被定义为属于一个包。

在脚本或REPL会话中运行代码时,在幕后它实际上是在一个对象的一个​​方法内编译的,在这个范围内,一个包声明是不合法的。

既然Scala 2.11.0-M7可以使用:paste -raw (修复问题SI-5299 )。 这个选项允许在REPL中定义包:

 scala> :paste -raw // Entering paste mode (ctrl-D to finish) package Foo class Bar // Exiting paste mode, now interpreting. scala> import Foo._ import Foo._ scala> new Bar res1: Foo.Bar = Foo.Bar@3ee2cf81 

我没有得到这个错误。 你怎么编译这个? 顺便说一下,什么网站? 至于REPL,它不接受包裹。 包仅用于编译代码。