【问题标题】:Setting package in Scala REPL在 Scala REPL 中设置包
【发布时间】:2014-08-16 19:30:14
【问题描述】:

Scala REPL 中有没有办法设置“活动”包范围?假设我有一个package com.packageclass 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;如果你愿意的话,我真的在寻找一个有状态的命令来改变“当前的工作包”。

【问题讨论】:

标签: scala read-eval-print-loop


【解决方案1】:

简单地说,你不能。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-01
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多