Что такое Лямбда?

92
задан hippietrail 31 January 2013 в 13:04
поделиться

6 ответов

Закрытия, лямбды и анонимные функции являются не обязательно тем же самым.

анонимная функция является любой функцией, которая не имеет (или, по крайней мере, потребность) ее собственного имени.

закрытие А является функцией, которая может переменные доступа, которые были в ее лексическом контексте, когда оно было объявлено, даже после того, как они упали из объема. Анонимные функции должны не обязательно быть закрытиями, но они находятся на большинстве языков и становятся скорее менее полезными, когда они не.

лямбда А.. не совсем настолько четко определенный, насколько информатика идет. Много языков даже не использует термин; вместо этого они просто назовут их закрытиями или скоро функционируют, или изобретите их собственную терминологию. В LISP лямбда является просто анонимной функцией. В Python лямбда является анонимной функцией, конкретно ограниченной отдельным выражением; что-либо больше, и Вам нужна именованная функция. Лямбды являются закрытиями на обоих языках.

133
ответ дан Eevee 24 November 2019 в 06:29
поделиться

Также названный закрытиями или анонимными функциями.. Я нашел лучшее описание здесь . В основном встройте блок кода, который может быть передан как аргумент функции.

19
ответ дан Gulzar Nazim 24 November 2019 в 06:29
поделиться

"Лямбда" относится к Лямбда-исчисление или к определенному лямбда-выражению. Лямбда-исчисление является в основном ответвлением логики и математики, которая имеет дело с функциями и является основанием языки функционального программирования .

~ William Riley-Land

17
ответ дан wprl 24 November 2019 в 06:29
поделиться

Это - просто анонимная функция, объявленная встроенной, как правило, присвоенной делегату, когда Вы не хотите писать законченную функцию.

На языках как шепелявость/схема, они часто раздаются вполне подробно как параметры функции, но идиома в C# обычно находит лямбды используемыми только для отложенных вычислений функций, как в linq, или для того, чтобы сделать код обработки событий немного более кратким.

8
ответ дан JasonTrue 24 November 2019 в 06:29
поделиться

Нет действительно такой вещи как 'лямбда' в программировании. Это зависит от языка, и т.д.

Короче говоря, обычно язык, который 'имеет лямбды', использует термин для анонимных функций или, в некоторых случаях, закрытия. Как так, в Ruby:

f = lambda { return "this is a function with no name" }
puts f.call
5
ответ дан rfunduk 24 November 2019 в 06:29
поделиться

Отсеченный из Википедии: http://en.wikipedia.org/wiki/Lambda#Lambda.2C_the_word

На языках программирования, таких как Lisp и Python, лямбда является оператором, используемым для обозначения анонимных функций или закрытий, после использования лямбда-исчисления.

1
ответ дан Mesh 24 November 2019 в 06:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: