这个主要方法是否正确定义?

时间:2012-10-11 20:21:41

标签: scala

在下面的类中我的主要方法没有正确定义?当我尝试从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")
  }

}

1 个答案:

答案 0 :(得分:8)

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

def main(args: Array[String]) {
// ...
}