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
Self type

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]

Applies the function to the given value if defined, and returns the result in a Some; otherwise, returns None.

Applies the function to the given value if defined, and returns the result in a Some; otherwise, returns 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. Any attempt to invoke empty partial function leads to throwing scala.MatchError exception.

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]^{f}

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

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