[英]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
編譯類。 (如果使用sbt
則sbt 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文件中包含一些代碼,則可以使用:load
命令從scala repl加載外部scala文件。 有關此答案的更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.