我是新來的Scala,我不明白以下代碼。如何理解scala佔位符
對於// 1,什麼是=>布爾值? 「匹配器」與// 2中的 相同嗎?
// 3,爲什麼有兩個佔位符_?
代碼:
def filesMatching(query: String, matcher: (String, String) => Boolean //1) = {
for (
file <- filesHere; // filesHere is a function that returns an Array of files
if matcher(file.getName, query) //2
) yield file
}
def filesEnding(query: String) =
filesMatching(query, (fileName: String, query: String) => fileName.endsWith(query))
def filesRegex(query: String) =
filesMatching(query, _.matches(_) //3)
代碼是從這裏:https://mbonaci.github.io/scala/
由於
然後filesEnding可以重寫到這個? def filesEnding(query:String)= filesMatching(query,_.endsWith(_)) – user1615666