2017-07-20 58 views

回答

1

您可以使用scala -iscala -I加載初始化文件:

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的區別,應該沒有區別。

+0

謝謝@chengpohi,有沒有可以使用的scala api?我想在運行時創建一些對象,並將此對象注入到我的Scala代碼中。 – zjffdu

+0

嗨@zjffdu,上面的方式創建一個init文件,當啓動** scala repl **時它會自動加載** init文件**變量。如果你想在** repl runtime **中加載這個文件,你可以在啓動你的repl後使用':load init.scala'。 – chengpohi

+0

如果你不想創建一箇中間文件,你也可以這樣做'(echo'val foo =「bar」'; cat - )| scala' – Dima

0

我的解決辦法是簡單地定義~/.bashrc別名:

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

我經常使用UUID對象從java.util包,以便它是有道理的,我預定義這樣導入:

〜/ .scalarc

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