如何在scala中导入类
最近,我正在学习如何在scala中导入类,scala,import,package,Scala,Import,Package,最近,我正在学习scala,scala中的软件包把我弄糊涂了 我有一个文件名为StockPriceFinder.scala: // StockPriceFinder.scala object StockPriceFinder { def getTickersAndUnits() = { val stockAndUnitsXML = scala.xml.XML.load("stocks.xml") (Map[String, Int]() /: (stock
scala
,scala中的软件包把我弄糊涂了
我有一个文件名为StockPriceFinder.scala
:
// StockPriceFinder.scala
object StockPriceFinder {
def getTickersAndUnits() = {
val stockAndUnitsXML = scala.xml.XML.load("stocks.xml")
(Map[String, Int]() /: (stocksAndUnitsXML \ "symbol")) {
(map, symbolNode) =>
val ticker = (symbolNode \ "@ticker").toString
val units = (symbolNode \ "units").text.toInt
map ++ Map(ticker -> units)
}
}
}
然后我想使用test.scala
中的StockPriceFinder
,它位于同一文件夹中:
val symbolAndUnits = StockPriceFinder.getTickersAndUnits
但是当我用scala test.scala运行它时,我得到了错误:错误:未找到:value-StockPriceFinder
。在Java中,如果这两个源文件位于同一文件夹中,我不需要导入,我可以直接使用它,那么如何在scala中正确导入StockPriceFinder
我曾尝试在
test.scala
中使用导入StockPriceFinder
,但它仍然不起作用。如果文件在同一个包(而不是文件夹)中,则不需要导入StockPriceFinder
但是您确实需要首先编译StockPriceFinder.scala
,并将正确的类路径传递给scala
scalac StockPriceFinder.scala
scala -cp . test.scala
应该有用(可能有点不合适)。但是,您不应该手动操作,因为它很快就会变得不可管理;使用或其他构建工具(Maven,Gradle)。可能重复@LionelPort我曾尝试在
test.scala
中使用import StockPriceFinder
,但它仍然不工作如果我不需要StockPriceFinder
,我只使用scala测试。scala
它将正常运行,无需编译。因此,如果我在其他地方引用该文件时需要编译该文件,它不会“不编译就运行”scala
只负责为您编译它。但它不知道应该从哪里获得StockPriceFinder
。