# 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 }``````
Companion:
class
Source:
PartialFunction.scala
class Object
trait Matchable
class Any

## Type members

### Classlikes

final class ElementWiseExtractor[-A, +B] extends AnyVal

## Value members

### Concrete methods

def cond[A](x: A)(pf: PartialFunction[A, Boolean]): Boolean

A Boolean test that is the result of the given function where defined, and false otherwise.

A Boolean test that is the result of the given function where defined, and false otherwise.

It behaves like a `case _ => false` were added to the partial function.

Value parameters:
pf

the partial function

x

the value to test

Returns:

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

Source:
PartialFunction.scala
def condOpt[A, B](x: A)(pf: PartialFunction[A, B]): Option[B]

Apply the function to the given value if defined, and return the result in a `Some`; otherwise, return `None`.

Apply the function to the given value if defined, and return the result in a `Some`; otherwise, return `None`.

Value parameters:
pf

the PartialFunction[T, U]

x

the value to test

Returns:

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

Source:
PartialFunction.scala
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.

Source:
PartialFunction.scala
def fromFunction[A, B](f: A => B): PartialFunction[A, B]

Converts an ordinary function to a partial function.

Converts an ordinary function to a partial function. Note that calling `isDefinedAt(x)` on this partial function will return `true` for every `x`.

Value parameters:
f

an ordinary function

Returns:

a partial function which delegates to the ordinary function `f`

Source:
PartialFunction.scala