Function2

trait Function2[-T1, -T2, +R] extends AnyRef

A function of 2 parameters.

In the following example, the definition of max is a shorthand for the anonymous class definition anonfun2:

object Main extends App {
  val max = (x: Int, y: Int) => if (x < y) y else x

  val anonfun2 = new Function2[Int, Int, Int] {
    def apply(x: Int, y: Int): Int = if (x < y) y else x
  }
  assert(max(0, 1) == anonfun2(0, 1))
}
Source:
Function2.scala
class Object
trait Matchable
class Any
class FromJavaBiConsumer[T, U]
class FromJavaBiFunction[T, U, R]
class AbstractFunction2[T1, T2, R]
(T1, T2) => R

Value members

Abstract methods

def apply(v1: T1, v2: T2): R

Apply the body of this function to the arguments.

Apply the body of this function to the arguments.

Returns:

the result of function application.

Source:
Function2.scala

Concrete methods

def curried: T1 => T2 => R

Creates a curried version of this function.

Creates a curried version of this function.

Returns:

a function f such that f(x1)(x2) == apply(x1, x2)

Source:
Function2.scala
override def toString(): String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Returns:

a string representation of the object.

Definition Classes
Source:
Function2.scala
def tupled: ((T1, T2)) => R

Creates a tupled version of this function: instead of 2 arguments, it accepts a single scala.Tuple2 argument.

Creates a tupled version of this function: instead of 2 arguments, it accepts a single scala.Tuple2 argument.

Returns:

a function f such that f((x1, x2)) == f(Tuple2(x1, x2)) == apply(x1, x2)

Source:
Function2.scala