Spec-Zone.ru › Scala 3.2

Объект Function.Function

Исходный код

object Function

Модуль, определяющий вспомогательные методы для функционального программирования высшего порядка.

Супертипы
класс Object
тракт Matchable
класс Any
Тип «self»
Function.type

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

Исходный код
def chain[T](fs: Seq[T => T]): T => T

В заданной последовательности функций f1, ..., fn, вернуть функцию f1 andThen ... andThen fn.

Параметры значения
fs

Заданная последовательность функций

Исходный код
def const[T, U](x: T)(y: U): T

Функция константного значения

Исходный код
def tupled[T1, T2, R](f: (T1, T2) => R): ((T1, T2)) => R

Сборка аргументов для функций арности 2. Это преобразует функцию арности 2 в унарную функцию, принимающую пару аргументов.

Примечание

Эти функции предназначены для устаревания, но это приостановлено в ожидании улучшения вывода типов для сборки аргументов анонимных функций.

Исходный код
def tupled[T1, T2, T3, R](f: (T1, T2, T3) => R): ((T1, T2, T3)) => R

Сборка аргументов для функций арности 3. Это преобразует функцию арности 3 в унарную функцию, принимающую тройку аргументов.

Исходный код
def tupled[T1, T2, T3, T4, R](f: (T1, T2, T3, T4) => R): ((T1, T2, T3, T4)) => R

Сборка аргументов для функций арности 4. Это преобразует функцию арности 4 в унарную функцию, принимающую 4-кортеж аргументов.

Исходный код
def tupled[T1, T2, T3, T4, T5, R](f: (T1, T2, T3, T4, T5) => R): ((T1, T2, T3, T4, T5)) => R

Сборка аргументов для функций арности 5. Это преобразует функцию арности 5 в унарную функцию, принимающую 5-кортеж аргументов.

Исходный код
def uncurried[T1, T2, R](f: T1 => T2 => R): (T1, T2) => R

Декомпозиция для функций арности 2. Это преобразует унарную функцию, возвращающую другую унарную функцию, в функцию арности 2.

Исходный код
def uncurried[T1, T2, T3, R](f: T1 => T2 => T3 => R): (T1, T2, T3) => R

Декомпозиция для функций арности 3.

Исходный код
def uncurried[T1, T2, T3, T4, R](f: T1 => T2 => T3 => T4 => R): (T1, T2, T3, T4) => R

Декомпозиция для функций арности 4.

Исходный код
def uncurried[T1, T2, T3, T4, T5, R](f: T1 => T2 => T3 => T4 => T5 => R): (T1, T2, T3, T4, T5) => R

Декомпозиция для функций арности 5.

Исходный код
def unlift[T, R](f: T => Option[R]): PartialFunction[T, R]

Преобразует функцию A => Option[B] в PartialFunction[A, B].

Важно: это преобразование подразумевает, что исходная функция может вызываться 2 или более раз при каждом логическом вызове, потому что единственный способ предоставить реализацию isDefinedAt — вызвать функцию и проверить возвращаемое значение. См. также scala.PartialFunction, метод applyOrElse.

Параметры значения
f

функция T => Option[R]

Возвращает

частичная функция, определённая для тех входных данных, где f возвращает Some(_), и неопределённая, где f возвращает None.

См. также

scala.PartialFunction, метод lift.

Источник
def untupled[T1, T2, R](f: ((T1, T2)) => R): (T1, T2) => R

Распаковка для функций арности 2. Преобразует функцию, принимающую пару аргументов, в бинарную функцию, которая принимает каждый аргумент по отдельности.

Источник
def untupled[T1, T2, T3, R](f: ((T1, T2, T3)) => R): (T1, T2, T3) => R

Распаковка для функций арности 3. Преобразует функцию, принимающую тройку аргументов, в тернарную функцию, которая принимает каждый аргумент по отдельности.

Источник
def untupled[T1, T2, T3, T4, R](f: ((T1, T2, T3, T4)) => R): (T1, T2, T3, T4) => R

Распаковка для функций арности 4. Преобразует функцию, принимающую 4-кортеж аргументов, в функцию арности 4, которая принимает каждый аргумент по отдельности.

Источник
def untupled[T1, T2, T3, T4, T5, R](f: ((T1, T2, T3, T4, T5)) => R): (T1, T2, T3, T4, T5) => R

Распаковка для функций арности 5. Преобразует функцию, принимающую 5-кортеж аргументов, в функцию арности 5, которая принимает каждый аргумент по отдельности.

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

Spec-Zone.ru

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