2

在下面的课程中,我的主要方法没有正确定义吗?当我尝试从 Eclipse 运行它时,我没有选择将它作为 scala 程序运行。当我删除时,filesEnding(".txt")我可以运行该程序。

object FileMatcher {

  private def filesHere = (new java.io.File(".")).listFiles()

  private def filesMatching(matcher: String => Boolean) = 
    for(file <- filesHere; if matcher(file.getName))
        yield file

  def filesEnding(query: String) = filesMatching(_.endsWith(query))

  def main(args:Array[String]) = {
      filesEnding(".txt")
  }

}
4

1 回答 1

8

Main 必须返回类型Unit。但filesEnding不返回Unit,它返回文件。最简单的解决方法是删除 ,=因此该方法的返回值默认为Unit.

def main(args: Array[String]) {
// ...
}
于 2012-10-11T20:25:54.267 回答