EMZETT.
Увійти

Каррінг (currying)

Коротко: Каррінг розбиває функцію з кількома параметрами на ланцюжок функцій з одним параметром: f(a, b, c) перетворюється на f(a)(b)(c).

Докладніше: Назва нагадує логіка Гаскелла Каррі. Прийом дозволяє часткове застосування: ви передаєте лише частину аргументів і отримуєте нову спеціалізовану функцію. У Haskell, OCaml і F# усі функції автоматично каррійовані; в інших мовах це будується на замиканнях.

Подробиці

const add = (a) => (b) => a + b;

Див. також: функція вищого порядку, лямбда-вираз, замикання