# PartialFunction

scala.PartialFunction\$
See thePartialFunction companion trait

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 }
``````

## Attributes

Companion
trait
Source
PartialFunction.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Self type

## Members list

### Type members

#### Classlikes

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

## Attributes

Source
PartialFunction.scala
Supertypes
class AnyVal
trait Matchable
class Any

### 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

## Attributes

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

## Attributes

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.

## Attributes

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

## Attributes

Returns

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

Source
PartialFunction.scala