我想在啓動scala repl時通過注入一些自定義值來定製scala repl。我可以使用什麼樣的API? scala 2.10和2.11有什麼區別?由於如何在初始化scala repl時將自定義對象注入到scala repl中
0
A
回答
1
您可以使用scala -i
或scala -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.10
和scala 2.11
的區別,應該沒有區別。
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}
相關問題
- 1. Scala REPL:如何將遠程Maven存儲庫添加到Scala REPL classpath?
- 2. Scala REPL自動退出
- 3. 如何調查對象/類型/等。來自Scala REPL?
- 4. Scala REPL:如何加載特定的包/類/對象?
- 5. Scala 2.9中的settings.maxPrintString REPL
- 6. 如何從Scala repl中隱式隱藏?
- 7. 從gradle運行scala REPL?
- 8. 在scala對象中注入
- 9. Scala REPL:如何查找函數類型?
- 10. Scala REPL tab-complete對我說謊?
- 11. 在scala中初始化var
- 12. 如何從scala程序調用scala REPL控制檯?
- 13. Scala中的對象的字符串表示REPL
- 14. Scala DynamicVariable初始化
- 15. scala REPL在遠景上很慢
- 16. 如何在Play + Scala中爲自定義對象定義json writer?
- 17. 我如何使用Scala REPL來測試java代碼 - java和scala REPL給出不同的輸出
- 18. 以編程方式啓動Scala REPL?
- 19. Scala REPL打印的類型是什麼?
- 20. 從Scala執行shell命令REPL
- 21. 從Scala訪問Cygwin路徑REPL
- 22. 如何在Scala REPL中重載類或包?
- 23. 如何玩在Scala REPL中的規格匹配器?
- 24. 自定義對象初始化程序
- 25. 如何在運行時注入對象(初始化後)?
- 26. scala變量初始化
- 27. 運行'.scala'程序時,Scala運行時/ REPL背後發生了什麼?
- 28. scala如何初始化重寫字段?
- 29. 如何訪問Scala REPL中的最後一個結果?
- 30. 在Scala中初始化數組
謝謝@chengpohi,有沒有可以使用的scala api?我想在運行時創建一些對象,並將此對象注入到我的Scala代碼中。 – zjffdu
嗨@zjffdu,上面的方式創建一個init文件,當啓動** scala repl **時它會自動加載** init文件**變量。如果你想在** repl runtime **中加載這個文件,你可以在啓動你的repl後使用':load init.scala'。 – chengpohi
如果你不想創建一箇中間文件,你也可以這樣做'(echo'val foo =「bar」'; cat - )| scala' – Dima