【发布时间】:2014-08-16 19:30:14
【问题描述】:
Scala REPL 中有没有办法设置“活动”包范围?假设我有一个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;如果你愿意的话,我真的在寻找一个有状态的命令来改变“当前的工作包”。
【问题讨论】:
-
那么,我猜stackoverflow.com/a/18510229/6309 也没有帮助?
-
目前不支持该功能,因为包实际上是在 REPL 的内部使用的(在 REPL 中定义的类实际上并不存在于根包中),但这将是一个有趣的功能请求...
-
@VonC:不,根据我的问题,这不允许我定义没有完全限定名称的新类。
-
同上@gourlaysama 用例正在测试具有包私有访问权限的现有类。
标签: scala read-eval-print-loop