在Scala REPL中导入多个包

Yan*_*ang 11 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(...)
...
Run Code Online (Sandbox Code Playgroud)

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

更新::load实际上确实有效.

Kip*_*ros 12

我不确定一般解决方案,但在SBT中可以配置项目,以便控制台(REPL)在启动时运行一些初始命令.这是一个示例build.sbt文件的摘录,

// set the initial commands when entering 'console' only
initialCommands in console := "import myproject._"
Run Code Online (Sandbox Code Playgroud)

编辑:另一个参考是Scalala项目.他们有一个Scala程序,可以启动嵌入式REPL并填写必要的导入.有关用法,请参阅快速入门指南.