Трейт Function1.Function1
Функция от 1 параметра.
В следующем примере, определение succ — это сокращенная запись для определения анонимного класса anonfun1:
object Main extends App {
val succ = (x: Int) => x + 1
val anonfun1 = new Function1[Int, Int] {
def apply(x: Int): Int = x + 1
}
assert(succ(0) == anonfun1(0))
}
Обратите внимание на различие между Function1 и scala.PartialFunction в том, что последняя может указывать входные данные, с которыми она не будет работать.
| Надтипы |
|---|
| Известные подтипы | 219 типов |
|---|
| Тип self |
|---|
Абстрактные методы
Источник
def apply(v1: T1): R
Применяет тело этой функции к аргументу.
| Возвращает | результат применения функции. |
|---|
Конкретные методы
Источник
def andThen[A](g: R => A): T1 => A
Компонует два экземпляра Function1 в новый Function1, применив эту функцию сначала.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | новая функция |
Источник
def compose[A](g: A => T1): A => R
Компонует два экземпляра Function1 в новый Function1, применив эту функцию последней.
| Параметры типа |
|
|---|---|
| Параметры |
|
| Возвращает | новая функция |
Источник
Возвращает строковое представление объекта.
По умолчанию представление зависит от платформы.
| Возвращает | строковое представление объекта. |
|---|---|
| Определяющие классы | Any |
Исходный код
def unlift: PartialFunction[A, B]
Преобразует опциональную функцию в частичную функцию.
| Пример |
В отличие от Function.unlift, этот метод UnliftOps.unlift может использоваться в экстрактных методах. val of: Int => Option[String] = { i =>
if (i == 2) {
Some("matched by an optional function")
} else {
None
}
}
util.Random.nextInt(4) match {
case of.unlift(m) => // Convert an optional function to a pattern
println(m)
case _ =>
println("Not matched")
}
|
|---|
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/Function1.html