私はScalaのプログラミングでScalaを学んでいます。本書に記載されているコードを実行しようとすると、次のエラーが表示されます。シンプルな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