我怎样才能在访问下面Scala代码的文件名访问文件的名称:如何DIR
object FileMatcher {
private def filesHere = (new java.io.File("c:\\")).listFiles
def filesEnding(query: String) =
for (file <- filesHere; if file.getName.endsWith(query))
yield file.getName
def main(args: Array[String]) {
println(filesEnding(".js"))
}
}
我有一个.js文件,输出是:[Ljava.io.File; @ df8f5e
我已经尝试将'yield file'更改为'yield file.getName',但结果相同。我假设println(filesEnding(“。js”))调用def'filesEnding'产生的任何toString方法,这是正确的吗?
什么是_“相同的结果”_?顺便说一句,有一个'(''在'if'之后失踪... –
@gilad hoch我认为在scala中if语句有一个隐式的开始和结束括号,它们是可选的。我更新了我的问题,输出结果是如果我使用括号作为if语句的一部分,也是一样的 –
在REPL中尝试'if true 1 else 2',你会得到一个错误...所以'('&')'是必须的。当我添加它时,顺便说一句,顺便说一句,你是否指'println(filesEnding(“.js”).mkString(“\ t”,“\ n \ t”,“\ n”))?? –