我正在尝试开始使用Scala并且无法离开起跑门.
由该行组成的文件
package x
Run Code Online (Sandbox Code Playgroud)
给我
错误:非法启动定义
无论x是什么,无论我把文件放在哪里(我有一个理论,我必须将文件放在目录层次结构中以匹配包定义,但没有).我从网站和REPL的示例代码中得到了同样的错误.
Ben*_*mes 71
看起来您正在尝试package在Scala脚本(使用scala命令运行)或REPL中声明成员资格.
只有定义了编译的类和对象的文件才scalac可以定义为属于包.
当您在脚本或REPL会话中运行代码时,它在幕后实际上是在对象的方法内编译的,在该范围内,包声明是不合法的.
qtw*_*two 24
从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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21247 次 |
| 最近记录: |