A lambda kifejezés a programozásban egy speciális szintaxis a funkcionális objektumok meghatározására, a λ-kalkulusból kölcsönzött . Általában anonim függvények deklarálására használják, ahol használják őket, és általában lehetővé teszi a kifejezés lexikális kontextusának lezárását . A lambda-kifejezések használatával függvényeket deklarálhat bárhol a kódban.
A lambda kifejezéseket számos programozási nyelv támogatja ( Common Lisp , Ruby , Perl , Python , PHP , JavaScript (ES 2015-től kezdve), C# , F# , Visual Basic .NET , C++ , Java , Scala , Kotlin, Object Pascal ( Delphi) , Haxe, Dart [1] és mások).
A lambda kifejezéseknek két formája van. Az anonim metódust legközvetlenebbül helyettesítő űrlap egy kapcsos zárójelek közé zárt kódblokk . Ez az anonim módszerek közvetlen helyettesítője . A lambda-kifejezések ezzel szemben még rövidebb módot biztosítanak egy névtelen metódus deklarálására , és nem igényelnek sem kapcsos zárójelben lévő kódot, sem return utasítást. Mindkét típusú lambda-kifejezés átalakítható delegálttá .
Minden lambda-kifejezés a lambda operátort használja =>, amely "megy"-ként olvasható (a Java, az F# és a PascalABC.NET az operátort használja ->). A lambda utasítás bal oldala határozza meg a bemeneti paramétereket (ha vannak), a jobb oldalon pedig a kifejezés vagy az utasításblokk található. A lambda-kifejezés x => x * 5a következőképpen szól: "x függvénye, amely x-hez megy 5-tel" [2] .