Lambdas sind anonyme Funktionen (dh sie haben keinen Bezeichner wie Methoden in einer Klasse), die in einer Vielzahl von Programmiersprachen verwendet werden können.
Ich bin kürzlich auf die folgende Situation gestoßen. class A{ public: void calculate(T inputs); } Erstens Astellt es ein Objekt in der physischen Welt dar, was ein starkes Argument dafür ist, die Klasse nicht aufzuteilen. Nun calculate()stellt sich heraus, dass es eine ziemlich lange und komplizierte Funktion ist. Ich sehe …
List.ForEach(Console.WriteLine); List.ForEach(s => Console.WriteLine(s)); Für mich ist der Unterschied rein kosmetischer Natur, aber gibt es subtile Gründe, warum einer dem anderen vorgezogen werden könnte?
Die meisten funktionalen Programmiersprachen (zB Common Lisp, Scheme / Schläger, Clojure, Haskell, Scala, Ocaml, SML) unterstützen einige gemeinsame Funktionen höherer Ordnung auf Listen, wie map, filter, takeWhile, dropWhile, foldl, foldr(siehe zB Common Lisp, Scheme / Schläger, Clojure Seite an Seite Referenzblatt , die Haskell- , Scala- , OCaml- und die …
In Lambda-lastigen Bibliotheken vor Java 8 wie Guava verwenden die Ausgaben gängige Java Collection Framework-Schnittstellen, sodass sie leicht an externe / interne APIs weitergegeben werden können und dennoch einige verzögerte Berechnungen möglich sind, wenn die Bibliotheksmethode dies tut (z . B. faul filter()und transform()). In Java 8-Streams ist der Aufruf …
Java 8 fügte das Konzept der funktionalen Schnittstellen sowie zahlreiche neue Methoden hinzu, mit denen funktionale Schnittstellen verwendet werden können. Instanzen dieser Schnittstellen können mithilfe von Methodenreferenzausdrücken (z. B. SomeClass::someMethod) und Lambda-Ausdrücken (z (x, y) -> x + y. B. ) prägnant erstellt werden . Ein Kollege und ich haben …
Ich habe die neuen Funktionen im JDK8 untersucht, wie die Lambda-Ausdrücke, die Erweiterungsmethoden und die neue Stream-API. Offensichtlich ist keine dieser Funktionen neu in der Programmierwelt, und das hat mich gefragt, warum all diese Dinge bis jetzt in Java verfügbar sind. Wir hatten Lambda-Ausdrücke in Lisp (1958), SML (1973), Haskell …
In eifrigen Sprachen wie Scheme und Python können Sie einen Lambda-Ausdruck ohne Parameter verwenden, um die Auswertung zu verzögern, z. B. in Scheme (Chicken Scheme): #;1> (define (make-thunk x) (lambda () (+ x 1))) #;2> (define t (make-thunk 1)) #;3> (t) 2 In Zeile 2 twird an den nicht bewerteten …
Ich habe das Buch Struktur und Interpretation von Computerprogrammen studiert und in Abschnitt 1.1.5 Das Substitutionsmodell für die Verfahrensanwendung erklärt der Autor die Konzepte der normalen Ordnung und der anwendbaren Ordnung , die ich meines Erachtens gut verstanden habe. Nun, ich nehme einen Kurs über Coursera genannt Funktion Programmierprinzipien in …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.