Функция высшего порядка
(перенаправлено с «Абстракция функций»)
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 13 февраля 2020 года; проверки требуют 9 правок.
Фу́нкция вы́сшего поря́дка — в программировании функция, принимающая в качестве аргументов другие функции или возвращающая другую функцию в качестве результата. Основная идея состоит в том, что функции имеют тот же статус, что и другие объекты данных. Использование функций высшего порядка приводит к абстрактным и компактным программам, принимая во внимание сложность производимых ими вычислений.[1]
ПримерПравить
Следующий исходный код, написанный на Python, содержит функцию высшего порядка g(), которая в качестве первого аргумента принимает функцию. В результате на экран будет выведено «100» (результат вычисления (7+3)×(7+3)).
def f(x):
return x + 3
def g(function, x):
return function(x) * function(x)
print(g(f, 7))
ПримечанияПравить
- ↑ А. Филд, П. Харрисон Функциональное программирование: Пер. с англ. — М.: Мир, 1993. — 637 с, ил. ISBN 5-03-001870-0. Стр. 55 [Глава 3: Функции высшего порядка].