斯卡拉给我“非法开始定义”
我正在尝试开始使用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,它不接受包裹。 包仅用于编译代码。