在Scala REPL中设置包

时间:2014-08-16 19:30:15

标签: scala read-eval-print-loop

Scala REPL中是否有一种方法可以设置" active"包装范围?假设我有package com.package class A,我希望能够在不明确执行new A()的情况下输入new com.package.A()而不是import com.package.A。在我感兴趣的那个软件包中可能还有很多其他类,我不想通过import com.package._来判断我的REPL的全局命名空间。

更好的是,我希望定义 A类而不输入其完全限定名称。类似的东西:

package com.package // do this once

class A
class B

val a = new A()
val b = new B()

我知道:paste -raw命令,但这需要我为每个块输入package com.package;我真的在寻找一个有状态的命令来改变当前的工作包"如果你愿意的话。

1 个答案:

答案 0 :(得分:7)

简单地说,你不能。

scala REPL中的每个命令都被包装到新生成的包中,如here所述。

此外,还有a ticket asking package { } support in the REPL,但由于:paste -raw被认为足够用于此目的,因此被驳回。