Lambdauttryck i programmering är en speciell syntax för att definiera funktionella objekt , lånad från λ-kalkyl . Det används i allmänhet för att deklarera anonyma funktioner där de används, och tillåter vanligtvis stängning till det lexikala sammanhang där uttrycket används. Med hjälp av lambda-uttryck kan du deklarera funktioner var som helst i din kod.
Lambda-uttryck stöds i många programmeringsspråk ( Common Lisp , Ruby , Perl , Python , PHP , JavaScript (från ES 2015), C# , F# , Visual Basic .NET , C++ , Java , Scala , Kotlin, Object Pascal ( Delphi) , Haxe, Dart [1] och andra).
Lambda-uttryck har två former. Det formulär som mest direkt ersätter en anonym metod är ett kodblock inneslutet i hängslen. Detta är en direkt ersättning för anonyma metoder . Lambda-uttryck, å andra sidan, ger ett ännu mer förkortat sätt att deklarera en anonym metod , och kräver varken kod i klammerparenteser eller en retursats. Båda typerna av lambda-uttryck kan konverteras till delegater .
Alla lambda-uttryck använder lambda-operatorn =>, som läses som "goes to" (Java, F# och PascalABC.NET använder operatorn ->). Den vänstra sidan av lambda-satsen definierar inmatningsparametrarna (om några), och den högra sidan innehåller uttrycket eller satsblocket. Lambdauttrycket x => x * 5lyder som "en funktion av x som går till x gånger 5" [2] .