Function

scala.Function
object Function

A module defining utility methods for higher-order functional programming.

Attributes

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

Members list

Value members

Concrete methods

def chain[T](fs: Seq[T => T]): T => T

Given a sequence of functions f,,1,,, ..., f,,n,,, return the function f,,1,, andThen ... andThen f,,n,,.

Given a sequence of functions f,,1,,, ..., f,,n,,, return the function f,,1,, andThen ... andThen f,,n,,.

Type parameters

T

the common input and output type of the functions in the chain

Value parameters

fs

the given sequence of functions

Attributes

Source
Function.scala
def const[T, U](x: T)(y: U): T

The constant function.

The constant function.

Type parameters

T

the return type

U

the type of the argument to ignore

Value parameters

x

the constant value to return

y

the argument that is ignored

Attributes

Source
Function.scala
def tupled[T1, T2, R](f: (T1, T2) => R): ((T1, T2)) => R

Tupling for functions of arity 2. This transforms a function of arity 2 into a unary function that takes a pair of arguments.

Tupling for functions of arity 2. This transforms a function of arity 2 into a unary function that takes a pair of arguments.

Attributes

Note

These functions are slotted for deprecation, but it is on hold pending superior type inference for tupling anonymous functions.

Source
Function.scala
def tupled[T1, T2, T3, R](f: (T1, T2, T3) => R): ((T1, T2, T3)) => R

Tupling for functions of arity 3. This transforms a function of arity 3 into a unary function that takes a triple of arguments.

Tupling for functions of arity 3. This transforms a function of arity 3 into a unary function that takes a triple of arguments.

Attributes

Source
Function.scala
def tupled[T1, T2, T3, T4, R](f: (T1, T2, T3, T4) => R): ((T1, T2, T3, T4)) => R

Tupling for functions of arity 4. This transforms a function of arity 4 into a unary function that takes a 4-tuple of arguments.

Tupling for functions of arity 4. This transforms a function of arity 4 into a unary function that takes a 4-tuple of arguments.

Attributes

Source
Function.scala
def tupled[T1, T2, T3, T4, T5, R](f: (T1, T2, T3, T4, T5) => R): ((T1, T2, T3, T4, T5)) => R

Tupling for functions of arity 5. This transforms a function of arity 5 into a unary function that takes a 5-tuple of arguments.

Tupling for functions of arity 5. This transforms a function of arity 5 into a unary function that takes a 5-tuple of arguments.

Attributes

Source
Function.scala
def uncurried[T1, T2, R](f: T1 => T2 => R): (T1, T2) => R

Uncurrying for functions of arity 2. This transforms a unary function returning another unary function into a function of arity 2.

Uncurrying for functions of arity 2. This transforms a unary function returning another unary function into a function of arity 2.

Type parameters

R

the result type

T1

the type of the 1st argument

T2

the type of the 2nd argument

Value parameters

f

the curried function to uncurry

Attributes

Source
Function.scala
def uncurried[T1, T2, T3, R](f: T1 => T2 => T3 => R): (T1, T2, T3) => R

Uncurrying for functions of arity 3.

Uncurrying for functions of arity 3.

Type parameters

R

the result type

T1

the type of the 1st argument

T2

the type of the 2nd argument

T3

the type of the 3rd argument

Value parameters

f

the curried function to uncurry

Attributes

Source
Function.scala
def uncurried[T1, T2, T3, T4, R](f: T1 => T2 => T3 => T4 => R): (T1, T2, T3, T4) => R

Uncurrying for functions of arity 4.

Uncurrying for functions of arity 4.

Type parameters

R

the result type

T1

the type of the 1st argument

T2

the type of the 2nd argument

T3

the type of the 3rd argument

T4

the type of the 4th argument

Value parameters

f

the curried function to uncurry

Attributes

Source
Function.scala
def uncurried[T1, T2, T3, T4, T5, R](f: T1 => T2 => T3 => T4 => T5 => R): (T1, T2, T3, T4, T5) => R

Uncurrying for functions of arity 5.

Uncurrying for functions of arity 5.

Type parameters

R

the result type

T1

the type of the 1st argument

T2

the type of the 2nd argument

T3

the type of the 3rd argument

T4

the type of the 4th argument

T5

the type of the 5th argument

Value parameters

f

the curried function to uncurry

Attributes

Source
Function.scala
def unlift[T, R](f: T => Option[R]): PartialFunction[T, R]

Turns a function A => Option[B] into a PartialFunction[A, B].

Turns a function A => Option[B] into a PartialFunction[A, B].

Important note: this transformation implies the original function may be called 2 or more times on each logical invocation, because the only way to supply an implementation of isDefinedAt is to call the function and examine the return value. See also scala.PartialFunction, method applyOrElse.

Type parameters

R

the result type

T

the input type of the function

Value parameters

f

a function T => Option[R]

Attributes

Returns

a partial function defined for those inputs where f returns Some(_) and undefined where f returns None.

See also

scala.PartialFunction, method lift.

Source
Function.scala
def untupled[T1, T2, R](f: ((T1, T2)) => R): (T1, T2) => R

Un-tupling for functions of arity 2. This transforms a function taking a pair of arguments into a binary function which takes each argument separately.

Un-tupling for functions of arity 2. This transforms a function taking a pair of arguments into a binary function which takes each argument separately.

Type parameters

R

the result type

T1

the type of the 1st argument

T2

the type of the 2nd argument

Value parameters

f

the tupled function to untuple

Attributes

Source
Function.scala
def untupled[T1, T2, T3, R](f: ((T1, T2, T3)) => R): (T1, T2, T3) => R

Un-tupling for functions of arity 3. This transforms a function taking a triple of arguments into a ternary function which takes each argument separately.

Un-tupling for functions of arity 3. This transforms a function taking a triple of arguments into a ternary function which takes each argument separately.

Type parameters

R

the result type

T1

the type of the 1st argument

T2

the type of the 2nd argument

T3

the type of the 3rd argument

Value parameters

f

the tupled function to untuple

Attributes

Source
Function.scala
def untupled[T1, T2, T3, T4, R](f: ((T1, T2, T3, T4)) => R): (T1, T2, T3, T4) => R

Un-tupling for functions of arity 4. This transforms a function taking a 4-tuple of arguments into a function of arity 4 which takes each argument separately.

Un-tupling for functions of arity 4. This transforms a function taking a 4-tuple of arguments into a function of arity 4 which takes each argument separately.

Type parameters

R

the result type

T1

the type of the 1st argument

T2

the type of the 2nd argument

T3

the type of the 3rd argument

T4

the type of the 4th argument

Value parameters

f

the tupled function to untuple

Attributes

Source
Function.scala
def untupled[T1, T2, T3, T4, T5, R](f: ((T1, T2, T3, T4, T5)) => R): (T1, T2, T3, T4, T5) => R

Un-tupling for functions of arity 5. This transforms a function taking a 5-tuple of arguments into a function of arity 5 which takes each argument separately.

Un-tupling for functions of arity 5. This transforms a function taking a 5-tuple of arguments into a function of arity 5 which takes each argument separately.

Type parameters

R

the result type

T1

the type of the 1st argument

T2

the type of the 2nd argument

T3

the type of the 3rd argument

T4

the type of the 4th argument

T5

the type of the 5th argument

Value parameters

f

the tupled function to untuple

Attributes

Source
Function.scala