在Scala中,我经常必须导入多个包含隐式和其他实用程序的软件包,尤其是在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实际上有效。

最佳答案

我不确定一般的解决方案,但是在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

关于scala - 在Scala REPL中导入多个软件包,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6963654/

10-12 22:42