Название «лямбда» - это просто исторический артефакт. Все, о чем мы говорим, это выражение, значение которого является функцией.
Простым примером (с использованием Scala для следующей строки) является:
args.foreach(arg => println(arg))
, где аргумент foreach
метод является выражением для анонимной функции. Вышеупомянутая строка более или менее такая же, как запись чего-то вроде этого (не совсем настоящий код, но вы получите эту идею):
void printThat(Object that) {
println(that)
}
...
args.foreach(printThat)
, за исключением того, что вам не нужно беспокоиться:
Как только вы привыкли к функциям значений, необходимость обойтись без них кажется такой же глупой, как требуется для обозначения каждого выражения, например:
int tempVar = 2 * a + b
...
println(tempVar)
вместо написания выражение, в котором оно вам нужно:
println(2 * a + b)
Точная нотация варьируется от языка к языку; Греческий язык не всегда требуется! ; -)