在Scala REPL中导入多个包

时间:2011-08-05 23:31:55

标签: scala read-eval-print-loop

在Scala中,我经常需要导入多个包含implicits和其他实用程序的包,特别是在REPL上:

import scala.collection.JavaConversions._
import scala.collection.{mutable => mut}
import com.myapp.db._
import com.orm._
val con = connectDb(...)
...

我知道在Scala中无法导入多个包(虽然包对象范围可以帮助一点),但是从REPL呢?有没有办法在没有大量复制和粘贴的情况下从REPL执行此操作?我也试过使用:load,但在那里导入/创建的东西也没有被引入REPL的范围。我注意到:power命令 将内容导入范围。

更新:load实际 工作。

1 个答案:

答案 0 :(得分:12)

我不确定一般解决方案,但在SBT中可以配置项目,以便控制台(REPL)在启动时运行一些初始命令。以下是example build.sbt file

的摘录
// set the initial commands when entering 'console' only
initialCommands in console := "import myproject._"

编辑:另一个参考是Scalala项目。他们有Scala program启动嵌入式REPL并填写必要的导入。有关用法,请参阅quick-start guide