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