Functions - first-class values. Тоесть в функциоанльных языках мы можем передавать функции как простых/сложных значений в методы и функции.
High Order Functions - функции, которые получают другие функции в параметрах, и/или возвращают функции в своих результатах.
Function type - тип, который определяет, что в параметр будет передаваться функция.
A => B
(A,B...X) => Z
A,B...Z - some types
Currying - название происходит от имени ученого, который это придумал впервые.
Это процесс, который позволяет вводить часть параметров сейчас, а остальные потом, что по факту означает создает функцией функцию.
def sum(f: Int=>Int): (a: Int, b: Int) => Int
В Scala есть сахар этого
def sum(f: Int=>Int)(a: Int, b: Int): Int
Anonynous function syntax: по принципу функционального типа
(x1: T1, ..., xn: Tn) => E
High Order Functions - функции, которые получают другие функции в параметрах, и/или возвращают функции в своих результатах.
Function type - тип, который определяет, что в параметр будет передаваться функция.
A => B
(A,B...X) => Z
A,B...Z - some types
Currying - название происходит от имени ученого, который это придумал впервые.
Это процесс, который позволяет вводить часть параметров сейчас, а остальные потом, что по факту означает создает функцией функцию.
def sum(f: Int=>Int): (a: Int, b: Int) => Int
В Scala есть сахар этого
def sum(f: Int=>Int)(a: Int, b: Int): Int
Anonynous function syntax: по принципу функционального типа
(x1: T1, ..., xn: Tn) => E
Комментариев нет:
Отправить комментарий