如何在 Scala 控制台启动 运行 scala 代码?

How to run scala code on scala console start?

每次 Scala 控制台 repl 启动时是否可以 运行 一些 Scala 代码(此代码必须更改 REPL 上下文)?

原以为可能会有一些 .scala 或类似的配置文件允许进行设置。

我的用例是 运行在每次 REPL 启动时使用此代码:

name := "scala-playground"
version := "0.1-SNAPSHOT"
organization := "org.reactormonk"
scalaVersion := "2.11.7"

resolvers ++= Seq(
  "ScalaNLP Maven2" at "http://repo.scalanlp.org/repo",
  "Scala Tools Snapshots" at "http://scala-tools.org/repo-snapshots/",
  "Sonatype Snapshots" at "https://oss.sonatype.org/content/repositories/snapshots/"
)

libraryDependencies ++= Seq(
  "org.scalatest" %% "scalatest" % "2.2.1",
  "io.argonaut" %% "argonaut" % "6.1",
  "com.github.alexarchambault" %% "argonaut-shapeless_6.1" % "1.0.0-M1",
  "com.github.pathikrit"  %% "better-files-akka"  % "2.15.0"
)

javaOptions += "-Xmx4g"
addCompilerPlugin("org.spire-math" %% "kind-projector" % "0.7.1")
initialCommands in console := """
import scalaz._, Scalaz._
//import shapeless._
"""

当运行 sbt console:

我创建了一个 %USERPROFILE%\.sbt[=13=].13\global.sbt 全局配置文件并向其中添加了启动代码:

initialCommands in console := """
    def viewdoc[A](a: A) {
    val name = a.asInstanceOf[AnyRef].getClass.getName
    val url = "http://www.scala-lang.org/api/current/index.html#"+name
    val pb = new ProcessBuilder("firefox",url)
    val p = pb.start
    p.waitFor
    }
"""

运行 sbt 控制台:

C:\WINDOWS>sbt console
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
[info] Set current project to windows (in build file:/C:/Windows/)
[info] Starting scala interpreter...
[info]
viewdoc: [A](a: A)Unit
Welcome to Scala version 2.10.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_74).
Type in expressions to have them evaluated.
Type :help for more information.

当运行 scala:

请在此处查看问题: