package thoughtworks
Ordering
- Alphabetic
Visibility
- Public
- All
Type Members
Value Members
- object Extractor extends LowPriorityExtractor
Utilities to convert between
A => Option[B]
, scala.PartialFunction and Extractor.Utilities to convert between
A => Option[B]
, scala.PartialFunction and Extractor.import com.thoughtworks.Extractor._ // Define a PartialFunction val pf: PartialFunction[Int, String] = { case 1 => "matched by PartialFunction" } // Define an optional function val f: Int => Option[String] = { i => if (i == 2) { Some("matched by optional function") } else { None } } // Convert an optional function to a PartialFunction val pf2: PartialFunction[Int, String] = Function.unlift(f) util.Random.nextInt(4) match { case pf.extract(m) => // Convert a PartialFunction to a pattern println(m) case f.extract(m) => // Convert an optional function to a pattern println(m) case pf2.extract(m) => // Convert a PartialFunction to a pattern throw new AssertionError("This case should never occur because it has the same condition as `f.extract`.") case _ => println("Not matched") }
Example: