Scala REPL启动命令行

时间:2018-05-09 01:20:19

标签: scala read-eval-print-loop

当我启动Scala REPL时,有没有办法将Scala代码或源文件放在命令行上自动运行?我希望在启动时自动完成一些导入(在bash脚本的命令行上),以方便用户使用。

2 个答案:

答案 0 :(得分:0)

而不是Scala REPL使用Ammonite。它比Scala REPL要好得多。

关于菊石的最好的部分是你可以在〜/ .ammonite文件夹下创建一个名为predef.sc的文件。在这里,您可以指定像interp.load.ivy("joda-time" % "joda-time" % jodaVersion)这样的SBT依赖项,也可以像import scala.concurrent.ExecutionContext.Implicits.global

那样导入

现在,每次启动菊石REPL时,您都拥有所有SBT依赖关系和导入。这有多酷。

答案 1 :(得分:0)

如果您的项目有一个 build.sbt 文件,那么您可以在该文件中添加如下内容:

initialCommands in console :=
"""
import java.net._
import java.time._
import java.time.format._
import java.time.temporal._
import javax.mail._
import javax.mail.internet._
"""

不确定这有多清楚,但它只是一个使用三重引号的块字符串

使用这些基础类集合(任何对您的工作有意义的类)可以节省大量时间!