我正在学习 Scala,所以如果这是一个愚蠢的问题,请耐心等待。
我有这个包和一个类(将其分解为最简单的版本):
package Foo {
class Bar {}
}
然后在 main.scala
文件中我有:
import Foo.Bar
object test {
def main() {
val b = new Bar()
}
}
为什么我会得到这个:
test.scala:1: error: Bar is not a member of Foo
它指向import
语句。
最佳答案
scalac
是 scala 编译器。 Foo.bar
需要经过编译才能使用,因此您不能只将 main.scala 作为脚本运行。
代码中的另一个错误是 main
方法需要是
def main(args: Array[String]) { ...
(或者您可以使用 test extends App
来代替,并取消 main
方法)。
我可以确认您是否将上面的两个文件放在一个空目录中(对主方法签名进行了更正)并运行scalac *
,然后运行scala test
它运行正确。
关于Scala——不是包的成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12028590/