저는 스칼라에서 Programming in Scala를 배우고 있습니다. 책에있는 코드를 실행하려고하면 다음 오류가 표시됩니다.간단한 스칼라 프로그램을 실행할 수 없습니다.
Exception in thread "main" java.lang.RuntimeException: Cannot figure out how to run target: File2
at scala.sys.package$.error(package.scala:27)
at scala.tools.nsc.GenericRunnerCommand.scala$tools$nsc$GenericRunnerCommand$$guessHowToRun(GenericRunnerCommand.scala:38)
at scala.tools.nsc.GenericRunnerCommand$$anonfun$2.apply(GenericRunnerCommand.scala:48)
at scala.tools.nsc.GenericRunnerCommand$$anonfun$2.apply(GenericRunnerCommand.scala:48)
at scala.Option.getOrElse(Option.scala:108)
at scala.tools.nsc.GenericRunnerCommand.<init>(GenericRunnerCommand.scala:48)
at scala.tools.nsc.GenericRunnerCommand.<init>(GenericRunnerCommand.scala:17)
at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:33)
at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89)
at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)
어떻게 해결할 수 있습니까?
여기 내 코드입니다 :
object Files2 {
def filesHere = (new java.io.File(".")).listFiles
def filesMatching(query: String, matcher: (String, String) => Boolean) = {
for (file <- filesHere; if matcher(file.getName, query))
yield file
}
def filesEnding(query: String) = filesMatching(query, _.endsWith(_))
def filesContaining(query: String) = filesMatching(query, _.contains(_))
def filesRegex(query: String) = filesMatching(query, _.matches(_))
def main(args: Array[String]) {
println("filesEnding(\"scala\").toList [" + filesEnding("scala").toList + "]")
println("filesContaining(\"Files1\").toList [" + filesContaining("Files1").toList + "]")
println("filesRegex(\".*Re.ex.*\").toList [" + filesRegex(".*Re.ex.*").toList + "]")
}
}
어떻게 실행 하시겠습니까? – Nicolas
그것은'File2' (오류 메시지에서 언급했듯이) 또는'Files2' (당신의 소스 파일에서와 같이)라고 불리우나요? – Jesper
Ahhhh, 나는 그것을 발견했다. 나는 객체 이름을 착각했다. ... @ Jesper – NobToJuneau