scala

PartialFunction

object PartialFunction

A few handy operations which leverage the extra bit of information available in partial functions. Examples:

```import PartialFunction._

def strangeConditional(other: Any): Boolean = cond(other) {
case x: String if x == "abc" || x == "def"  => true
case x: Int => true
}
def onlyInt(v: Any): Option[Int] = condOpt(v) { case x: Int => x }```
Source
PartialFunction.scala
Since

2.8

Linear Supertypes
AnyRef, Any
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. PartialFunction
2. AnyRef
3. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

Value Members

1. final def !=(arg0: AnyRef): Boolean

Definition Classes
AnyRef
2. final def !=(arg0: Any): Boolean

Definition Classes
Any
3. final def ##(): Int

Definition Classes
AnyRef → Any
4. final def ==(arg0: AnyRef): Boolean

Definition Classes
AnyRef
5. final def ==(arg0: Any): Boolean

Definition Classes
Any
6. def apply[A, B](f: (A) ⇒ B): PartialFunction[A, B]

Converts ordinary function to partial one

Converts ordinary function to partial one

Since

2.10

7. final def asInstanceOf[T0]: T0

Definition Classes
Any
8. def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
( ... )
9. def cond[T](x: T)(pf: PartialFunction[T, Boolean]): Boolean

Creates a Boolean test based on a value and a partial function.

Creates a Boolean test based on a value and a partial function. It behaves like a 'match' statement with an implied 'case _ => false' following the supplied cases.

x

the value to test

pf

the partial function

returns

true, iff `x` is in the domain of `pf` and `pf(x) == true`.

10. def condOpt[T, U](x: T)(pf: PartialFunction[T, U]): Option[U]

Transforms a PartialFunction[T, U] `pf` into Function1[T, Option[U]] `f` whose result is `Some(x)` if the argument is in `pf`'s domain and `None` otherwise, and applies it to the value `x`.

Transforms a PartialFunction[T, U] `pf` into Function1[T, Option[U]] `f` whose result is `Some(x)` if the argument is in `pf`'s domain and `None` otherwise, and applies it to the value `x`. In effect, it is a `match` statement which wraps all case results in `Some(_)` and adds `case _ => None` to the end.

x

the value to test

pf

the PartialFunction[T, U]

returns

`Some(pf(x))` if `pf isDefinedAt x`, `None` otherwise.

11. def empty[A, B]: PartialFunction[A, B]

The partial function with empty domain.

The partial function with empty domain. Any attempt to invoke empty partial function leads to throwing scala.MatchError exception.

Since

2.10

12. final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
13. def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
14. def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
( classOf[java.lang.Throwable] )
15. final def getClass(): Class[_]

Definition Classes
AnyRef → Any
16. def hashCode(): Int

Definition Classes
AnyRef → Any
17. final def isInstanceOf[T0]: Boolean

Definition Classes
Any
18. final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
19. final def notify(): Unit

Definition Classes
AnyRef
20. final def notifyAll(): Unit

Definition Classes
AnyRef
21. final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
22. def toString(): String

Definition Classes
AnyRef → Any
23. final def wait(): Unit

Definition Classes
AnyRef
Annotations
( ... )
24. final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
( ... )
25. final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
( ... )