0
这是我的Scala代码,它返回目录中的所有类文件名。Scala中的排序集合
import scala.collection.mutable._
import java.io.File
def getFiles(directory:String) = {
val files = ArrayBuffer[String]()
val d = new File(directory)
if (d.exists && d.isDirectory) {
(for (i <- d.listFiles.filter(_.getName.endsWith(".class"))) // <---
yield i.getName.replace(directory, "")).toList
} else {
List[String]()
}
}
的listFiles
方法返回一个文件类型类的集合,我只好用for
和yield
得到字符串的一个新的集合。我认为代码很丑陋,并且可能有更好的方式来处理这种模式(从现有的代码生成新类型的集合),比如这个代码,但是我有一个错误消息。
d.listFiles.filter(_.getName.endsWith(".class")))
.foreach(yield _.getName.replace(directory, "")).toList
任何想法?