An extractor object is an object with an unapply
method. Whereas the apply
method is like a constructor which takes arguments and creates an object, the unapply
takes an object and tries to give back the arguments. This is most often used in pattern matching and partial functions.
This is a companion discussion topic for the original entry at http://docs.scala-lang.org//tutorials/tour/extractor-objects.html.html