scala> import reflect.io._, Path._
import reflect.io._
import Path._
scala> val r = """.*\.scala""".r
r: scala.util.matching.Regex = .*\.scala
scala> "/home/amarki/tmp".toDirectory.files map (_.name) flatMap { case n @ r() => Some(n) case _ => None }
res0: Iterator[String] = non-empty iterator
scala> .toList
res1: List[String] = List(bobsrandom.scala, ...)
or recursive
scala> import PartialFunction.{ cond => when }
import PartialFunction.{cond=>when}
scala> "/home/amarki/tmp" walkFilter (p => p.isDirectory || when(p.name) {
| case r() => true })
res3: Iterator[scala.reflect.io.Path] = non-empty iterator
source
share