Spec-Zone.ru › Scala 3.1

Объект scala.Function

Исходный код

object Function

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

Супертипы
класс Object
тракт Matchable
класс Any
Тип "я сам"
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.1.1/scala/Function$.html

Spec-Zone.ru

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