Expresia lambda în programare este o sintaxă specială pentru definirea obiectelor funcționale , împrumutată din λ-calcul . În general, este folosit pentru a declara funcții anonime acolo unde sunt utilizate și, de obicei, permite închiderea contextului lexical în care este folosită expresia. Folosind expresii lambda, puteți declara funcții oriunde în cod.
Expresiile Lambda sunt acceptate în multe limbaje de programare ( Common Lisp , Ruby , Perl , Python , PHP , JavaScript (începând cu ES 2015), C# , F# , Visual Basic .NET , C++ , Java , Scala , Kotlin, Object Pascal ( Delphi) , Haxe, Dart [1] și alții).
Expresiile lambda iau două forme. Forma care înlocuiește cel mai direct o metodă anonimă este un bloc de cod închis între acolade. Acesta este un înlocuitor direct pentru metodele anonime . Expresiile Lambda, pe de altă parte, oferă o modalitate și mai prescurtată de a declara o metodă anonimă și nu necesită nici cod între acolade, nici o instrucțiune return. Ambele tipuri de expresii lambda pot fi convertite în delegați .
Toate expresiile lambda folosesc operatorul lambda =>, care este citit ca „goes to” (Java, F# și PascalABC.NET folosesc operatorul ->). Partea stângă a instrucțiunii lambda definește parametrii de intrare (dacă există), iar partea dreaptă conține expresia sau blocul de instrucțiuni. Expresia lambda se x => x * 5citește ca „o funcție a lui x care merge la x ori 5” [2] .