Function2

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

A function of 2 parameters.

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))
}
class Object
trait Matchable
class Any

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.

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)

override def toString(): String
Definition Classes
Any
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)