Lambda-udtryk i programmering er en speciel syntaks til at definere funktionelle objekter , lånt fra λ-calculus . Det bruges generelt til at erklære anonyme funktioner, hvor de bruges, og tillader normalt lukning til den leksikalske kontekst , hvori udtrykket bruges. Ved at bruge lambda-udtryk kan du deklarere funktioner hvor som helst i din kode.
Lambda-udtryk understøttes i mange programmeringssprog ( Common Lisp , Ruby , Perl , Python , PHP , JavaScript (startende fra ES 2015), C# , F# , Visual Basic .NET , C++ , Java , Scala , Kotlin, Object Pascal ( Delphi) , Haxe, Dart [1] og andre).
Lambda-udtryk har to former. Den form, der mest direkte erstatter en anonym metode, er en kodeblok indesluttet i krøllede klammeparenteser. Dette er en direkte erstatning for anonyme metoder . Lambda-udtryk giver på den anden side en endnu mere forkortet måde at erklære en anonym metode på, og kræver hverken kode i krøllede parenteser eller en returerklæring. Begge typer lambda-udtryk kan konverteres til delegerede .
Alle lambda-udtryk bruger lambda-operatoren =>, som læses som "goes to" (Java, F# og PascalABC.NET bruger operatoren ->). Den venstre side af lambda-sætningen definerer inputparametrene (hvis nogen), og den højre side indeholder udtrykket eller sætningsblokken. Lambdaudtrykket x => x * 5lyder som "en funktion af x, der går til x gange 5" [2] .