Import multiple packages in Scala REPL

房东的猫 提交于 2019-11-27 18:08:54

问题


In Scala, I frequently have to import multiple packages worth of implicits and other utilities, particularly on the REPL:

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

I understand there's no way to import multiple packages in Scala (though package object scopes can help a bit), but what about from the REPL? Is there any way to do this from the REPL without lots of copying and pasting? I also tried using :load, but things imported/created there don't get introduced into the REPL's scope either. I noticed that the :power command does import things into scope.

Update: :load actually does work.


回答1:


I'm not sure of a general solution, but in SBT it's possible to configure the project so that the console (REPL) runs some initial commands upon launching. Here's an excerpt from an example build.sbt file,

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

Edit: Another reference is the Scalala project. They have a Scala program that launches an embedded REPL and fills in the necessary imports. For usage, see their quick-start guide.



来源:https://stackoverflow.com/questions/6963654/import-multiple-packages-in-scala-repl

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!