Mercurial > hg > Members > nobuyasu > scala
diff chapter9/FileMatcher.scala @ 0:b316eec6fa7a draft default tip
add sample files
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 08 Jan 2013 16:41:46 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/chapter9/FileMatcher.scala Tue Jan 08 16:41:46 2013 +0900 @@ -0,0 +1,31 @@ +object FileMatcher { + private def filesHere = (new java.io.File(".")).listFiles + /* + def filesEnding(query: String) = + for (file <- filesHere; if file.getName.endsWith(query)) + yield file + def filesContaining(query: String) = + for (file <- filesHere; if file.getName.contains(query)) + yield file + def filesRexex(query: String) = + for (file <- filesHere; if file.getName.matches(query)) + yield file + */ + def filesMatching(query: String, + matcher: (String, String) => Boolean) = { + for (file <- filesHere; if matcher(file.getName, query)) + yield file + } + def filesEnding(query: String) = + filesMatching(query, _.endsWith(_)) + def filesContaining(query: String) = + filesMatchin(query, _.contains(_)) + def filesRegex(query: String) = + filesMatching(query, _.matches(_)) +} + + + + + +