scala

object Function

[source: `scala/Function.scala`]

`object` Function
` extends `AnyRef
A module defining utility methods for higher-order functional programming.
Author
Martin Odersky
Version
1.0, 29/11/2006
 Method Summary ` def` chain [a](fs : Seq[(a) => a]) : (a) => a Given a sequence of functions `f1`, ..., `fn`, return the function ```f1 andThen ... andThen fn```. ` def` const [T, U](x : T)(y : U) : T The constant function ` def` curried [a1, a2, a3, a4, b](f : (a1, a2, a3, a4) => b) : (a1) => (a2) => (a3) => (a4) => b Currying for functions of arity 4. ` def` curried [a1, a2, a3, a4, a5, b](f : (a1, a2, a3, a4, a5) => b) : (a1) => (a2) => (a3) => (a4) => (a5) => b Currying for functions of arity 5. ` def` curried [a1, a2, a3, b](f : (a1, a2, a3) => b) : (a1) => (a2) => (a3) => b Currying for functions of arity 3. ` def` curried [a1, a2, b](f : (a1, a2) => b) : (a1) => (a2) => b Currying for functions of arity 2. This transforms a function of arity 2 into a a unary function returning another unary function. ` def` tupled [a1, a2, a3, b](f : (a1, a2, a3) => b) : ((a1, a2, a3)) => b Tupling for functions of arity 3. This transforms a function of arity 3 into a unary function that takes a triple of arguments. ` def` tupled [a1, a2, a3, a4, b](f : (a1, a2, a3, a4) => b) : ((a1, a2, a3, a4)) => b Tupling for functions of arity 4. This transforms a function of arity 4 into a unary function that takes a 4-tuple of arguments. ` def` tupled [a1, a2, b](f : (a1, a2) => b) : ((a1, a2)) => b Tupling for functions of arity 2. This transforms a function of arity 2 into a unary function that takes a pair of arguments. ` def` tupled [a1, a2, a3, a4, a5, b](f : (a1, a2, a3, a4, a5) => b) : ((a1, a2, a3, a4, a5)) => b Tupling for functions of arity 5. This transforms a function of arity 5 into a unary function that takes a 5-tuple of arguments. ` def` uncurried [a1, a2, a3, a4, a5, b](f : (a1) => (a2) => (a3) => (a4) => (a5) => b) : (a1, a2, a3, a4, a5) => b Uncurrying for functions of arity 5. ` def` uncurried [a1, a2, b](f : (a1) => (a2) => b) : (a1, a2) => b Uncurrying for functions of arity 2. This transforms a unary function returning another unary function into a function of arity 2. ` def` uncurried [a1, a2, a3, b](f : (a1) => (a2) => (a3) => b) : (a1, a2, a3) => b Uncurrying for functions of arity 3. ` def` uncurried [a1, a2, a3, a4, b](f : (a1) => (a2) => (a3) => (a4) => b) : (a1, a2, a3, a4) => b Uncurrying for functions of arity 4. ` def` untupled [a1, a2, a3, a4, a5, b](f : ((a1, a2, a3, a4, a5)) => b) : (a1, a2, a3, a4, a5) => b 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. ` def` untupled [a1, a2, b](f : ((a1, a2)) => b) : (a1, a2) => b 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. ` def` untupled [a1, a2, a3, a4, b](f : ((a1, a2, a3, a4)) => b) : (a1, a2, a3, a4) => b 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. ` def` untupled [a1, a2, a3, b](f : ((a1, a2, a3)) => b) : (a1, a2, a3) => b 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.
 Methods inherited from AnyRef getClass, hashCode, equals, clone, toString, notify, notifyAll, wait, wait, wait, finalize, ==, !=, eq, ne, synchronized
 Methods inherited from Any ==, !=, isInstanceOf, asInstanceOf
 Method Details
`def` chain[a](fs : Seq[(a) => a]) : (a) => a
Given a sequence of functions `f1`, ..., `fn`, return the function ```f1 andThen ... andThen fn```.
Parameters
`fs - `The given sequence of functions
Returns
...

`def` const[T, U](x : T)(y : U) : T
The constant function

`def` curried[a1, a2, b](f : (a1, a2) => b) : (a1) => (a2) => b
Currying for functions of arity 2. This transforms a function of arity 2 into a a unary function returning another unary function.
Parameters
`f - `...
Returns
...

`def` curried[a1, a2, a3, b](f : (a1, a2, a3) => b) : (a1) => (a2) => (a3) => b
Currying for functions of arity 3.
Parameters
`f - `...
Returns
...

`def` curried[a1, a2, a3, a4, b](f : (a1, a2, a3, a4) => b) : (a1) => (a2) => (a3) => (a4) => b
Currying for functions of arity 4.

`def` curried[a1, a2, a3, a4, a5, b](f : (a1, a2, a3, a4, a5) => b) : (a1) => (a2) => (a3) => (a4) => (a5) => b
Currying for functions of arity 5.

`def` uncurried[a1, a2, b](f : (a1) => (a2) => b) : (a1, a2) => b
Uncurrying for functions of arity 2. This transforms a unary function returning another unary function into a function of arity 2.

`def` uncurried[a1, a2, a3, b](f : (a1) => (a2) => (a3) => b) : (a1, a2, a3) => b
Uncurrying for functions of arity 3.

`def` uncurried[a1, a2, a3, a4, b](f : (a1) => (a2) => (a3) => (a4) => b) : (a1, a2, a3, a4) => b
Uncurrying for functions of arity 4.

`def` uncurried[a1, a2, a3, a4, a5, b](f : (a1) => (a2) => (a3) => (a4) => (a5) => b) : (a1, a2, a3, a4, a5) => b
Uncurrying for functions of arity 5.

`def` tupled[a1, a2, b](f : (a1, a2) => b) : ((a1, a2)) => b
Tupling for functions of arity 2. This transforms a function of arity 2 into a unary function that takes a pair of arguments.
Parameters
`f - `...
Returns
...

`def` tupled[a1, a2, a3, b](f : (a1, a2, a3) => b) : ((a1, a2, a3)) => b
Tupling for functions of arity 3. This transforms a function of arity 3 into a unary function that takes a triple of arguments.

`def` tupled[a1, a2, a3, a4, b](f : (a1, a2, a3, a4) => b) : ((a1, a2, a3, a4)) => b
Tupling for functions of arity 4. This transforms a function of arity 4 into a unary function that takes a 4-tuple of arguments.

`def` tupled[a1, a2, a3, a4, a5, b](f : (a1, a2, a3, a4, a5) => b) : ((a1, a2, a3, a4, a5)) => b
Tupling for functions of arity 5. This transforms a function of arity 5 into a unary function that takes a 5-tuple of arguments.

`def` untupled[a1, a2, b](f : ((a1, a2)) => b) : (a1, a2) => b
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.

`def` untupled[a1, a2, a3, b](f : ((a1, a2, a3)) => b) : (a1, a2, a3) => b
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.

`def` untupled[a1, a2, a3, a4, b](f : ((a1, a2, a3, a4)) => b) : (a1, a2, a3, a4) => b
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.

`def` untupled[a1, a2, a3, a4, a5, b](f : ((a1, a2, a3, a4, a5)) => b) : (a1, a2, a3, a4, a5) => b
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.