初始化scala repl时如何将自定义对象注入scala repl

时间:2017-07-20 01:04:29

标签: scala scala-repl

我想通过在启动scala repl时注入一些自定义值来自定义scala repl。我可以使用什么样的api? scala 2.10和2.11之间有什么区别?感谢

2 个答案:

答案 0 :(得分:1)

您可以使用scala -iscala -I加载 init 文件:

scala -help
 -i <file>    preload <file> before starting the repl
 -I <file>    preload <file>, enforcing line-by-line interpretation
 ...

因此您可以在开始时创建自定义文件,例如使用以下内容创建init.scala

val x = "Hello"
val y = "World"

并开始scala -i init.scala

Welcome to Scala 2.12.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_71).
Type in expressions for evaluation. Or try :help.

scala> y
res0: String = Hello

scala> x
res1: String = World

关于scala 2.10scala 2.11的差异,这应该没有区别。

答案 1 :(得分:0)

我的解决方案只是在~/.bashrc中定义别名:

alias sc="scala -i ~/.scalarc"

我经常使用java.util包中的UUID对象,所以我有必要预定义这样的导入:

〜/ .scalarc

import java.util.UUID
import scala.util.{Try, Success, Failure}
import scala.util.{Either, Left, Right}