在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
实际 工作。
答案 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。