簡體   English   中英

如何將軟件包導入Scala REPL?

[英]How to import package into Scala REPL?

如何將軟件包導入Scala的REPL? 我正在嘗試導入名為funsets的程序包,它具有一個名為“ FunSets”的對象。 我嘗試了import funsets._import funsets._;幾種變體import funsets._; 等等,但是它仍然沒有在包中導入函數和對象。

啟動repl時,還需要使用-cp <jar files>參數將適當的jar添加到類路徑。 或者,您可以使用repl中的:require <jar file>指令在啟動會話后加載jar。

一種方法是編譯“ scala類”並將其放入classpath

例,

1)假設您有一個類funsets.FunSets.scala

package funsets                                                                                        

object FunSets {                                                                                       

  def fun = "very fun"                                                                                 

}      

2)首先使用scalac編譯類。 (如果使用sbtsbt compile會將已編譯的類放在target/文件夾中)

scalac FunSets.scala

您會看到funsets文件夾/軟件包已創建,

$ ls -l
total 16
-rw-r--r--  1 updupd  NA\Domain Users   63 Dec 18 11:05 FunSets.scala
drwxr-xr-x  4 updupd  NA\Domain Users  136 Dec 18 11:06 funsets

3)然后使用classpath中的funsets包啟動REPL

$ scala -classpath .
Welcome to Scala 2.12.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_151).
Type in expressions for evaluation. Or try :help.

scala> import funsets._
import funsets._

注意:如果使用sbt compile ,則將target/classes sbt compile放在classpath中。

訪問Funsets單例,

scala> FunSets.fun
res0: String = very fun

另請參閱Scala REPL無法導入packge

假設scala文件中包含一些代碼,則可以使用:load命令從scala repl加載外部scala文件。 有關此答案的更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM