我有这两个功能
def pattern(s: String): Option[Pattern] =
try {
Some(Pattern.compile(s))
} catch {
case e: PatternSyntaxException => None
}
和
def mkMatcher(pat: String): Option[String => Boolean] =
pattern(pat) map (p => (s: String) => p.matcher(s).matches)
Map 是将给定函数应用于列表的每个元素的高阶函数。
现在我不知道地图是如何按照上述声明在这里工作的。