Фу́нкция вы́сшего поря́дка — в программировании функция, принимающая в качестве аргументов другие функции или возвращающая другую функцию в качестве результата. Основная идея состоит в том, что функции имеют тот же статус, что и другие объекты данных. Использование функций высшего порядка приводит к абстрактным и компактным программам, принимая во внимание сложность производимых ими вычислений.А. Филд, П. Харрисон Функциональное программирование: Пер. с англ. — М.: Мир, 1993. — 637 с, ил. ISBN 5-03-001870-0. Стр. 55 [Глава 3: Функции высшего порядка].

Пример Следующий исходный код, написанный на 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))

Декораторы В синтаксисе Python существует способ сокращения вызовов функций высшего порядка, называемый декоратором.

Примечания

Категория:Концепции языков программирования Категория:Лямбда-исчисление Категория:Функциональное программирование Категория:Статьи с примерами кода Ruby