Spec-Zone.ru › Scala 3.1

Трейт scala.Function2

Исходный код

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

Функция от 2 параметров.

В следующем примере, определение max — это сокращение для определения анонимного класса 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))
}
Надтипы
класс Object
трейт Matchable
класс Any
Известные подтипы
68 типов
класс FromJavaBiConsumer[T, U]
класс FromJavaBiFunction[T, U, R]
класс FromJavaBiPredicate[T, U]
класс FromJavaBinaryOperator[T]
класс FromJavaDoubleBinaryOperator
класс FromJavaIntBinaryOperator
класс FromJavaLongBinaryOperator
класс FromJavaObjDoubleConsumer[T]
класс FromJavaObjIntConsumer[T]
класс FromJavaObjLongConsumer[T]
класс FromJavaToDoubleBiFunction[T, U]
класс FromJavaToIntBiFunction[T, U]
класс FromJavaToLongBiFunction[T, U]
класс AbstractFunction2[T1, T2, R]
тракт JFunction2$mcDDD$sp
тракт JFunction2$mcDDI$sp
тракт JFunction2$mcDDJ$sp
тракт JFunction2$mcDID$sp
тракт JFunction2$mcDII$sp
тракт JFunction2$mcDIJ$sp
тракт JFunction2$mcDJD$sp
тракт JFunction2$mcDJI$sp
тракт JFunction2$mcDJJ$sp
тракт JFunction2$mcFDD$sp
тракт JFunction2$mcFDI$sp
тракт JFunction2$mcFDJ$sp
тракт JFunction2$mcFID$sp
тракт JFunction2$mcFII$sp
тракт JFunction2$mcFIJ$sp
тракт JFunction2$mcFJD$sp
тракт JFunction2$mcFJI$sp
тракт JFunction2$mcFJJ$sp
тракт JFunction2$mcIDD$sp
тракт JFunction2$mcIDI$sp
тракт JFunction2$mcIDJ$sp
тракт JFunction2$mcIID$sp
тракт JFunction2$mcIII$sp
тракт JFunction2$mcIIJ$sp
тракт JFunction2$mcIJD$sp
тракт JFunction2$mcIJI$sp
тракт JFunction2$mcIJJ$sp
тракт JFunction2$mcJDD$sp
тракт JFunction2$mcJDI$sp
тракт JFunction2$mcJDJ$sp
тракт JFunction2$mcJID$sp
тракт JFunction2$mcJII$sp
тракт JFunction2$mcJIJ$sp
тракт JFunction2$mcJJD$sp
тракт JFunction2$mcJJI$sp
тракт JFunction2$mcJJJ$sp
тракт JFunction2$mcVDD$sp
тракт JFunction2$mcVDI$sp
тракт JFunction2$mcVDJ$sp
trait JFunction2$mcVID$sp
trait JFunction2$mcVII$sp
trait JFunction2$mcVIJ$sp
trait JFunction2$mcVJD$sp
trait JFunction2$mcVJI$sp
trait JFunction2$mcVJJ$sp
trait JFunction2$mcZDD$sp
trait JFunction2$mcZDI$sp
trait JFunction2$mcZDJ$sp
trait JFunction2$mcZID$sp
trait JFunction2$mcZII$sp
trait JFunction2$mcZIJ$sp
trait JFunction2$mcZJD$sp
trait JFunction2$mcZJI$sp
trait JFunction2$mcZJJ$sp
Тип самого себя
(T1, T2) => R

Абстрактные методы

Источник
def apply(v1: T1, v2: T2): R

Применяет тело этой функции к аргументам.

Возвращает

результат применения функции.

Конкретные методы

Источник@unspecialized
def curried: T1 => T2 => R

Создаёт вычисляемую версию этой функции.

Возвращает

функция f такая, что f(x1)(x2) == apply(x1, x2)

Источник
override def toString(): String

Классы определений Any

Источник@unspecialized
def tupled: (T1, T2) => R

Создаёт кортежную версию этой функции: вместо 2 аргументов она принимает один аргумент scala.Tuple2.

Возвращает

функция f такая, что f((x1, x2)) == f(Tuple2(x1, x2)) == apply(x1, x2)

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.1.1/scala/Function2.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API