NICHT FÜR DEN AWS-SERVICE VERWENDEN (verwenden Sie [aws-lambda] für diese Fragen!) Lambdas sind anonyme Funktionen oder Schließungen in Programmiersprachen wie Lisp, C #, C ++, Lua, Python, Ruby, JavaScript oder Java. (Auch Lambda-Ausdruck.)
Ich hatte die Auffassung, dass der Typ eines Lambda ein Funktionszeiger ist. Als ich den folgenden Test durchführte, stellte ich fest, dass er falsch war ( Demo ). #define LAMBDA [] (int i) -> long { return 0; } int main () { long (*pFptr)(int) = LAMBDA; // ok auto …
Ich habe folgenden Code: Func<string, bool> comparer = delegate(string value) { return value != "0"; }; Folgendes wird jedoch nicht kompiliert: var comparer = delegate(string value) { return value != "0"; }; Warum kann der Compiler nicht herausfinden, dass es sich um eine handelt Func<string, bool>? Es benötigt einen String-Parameter …
Ich habe gerade angefangen, mir Java 8 anzuschauen und Lambdas auszuprobieren. Ich dachte, ich würde versuchen, eine sehr einfache Sache, die ich kürzlich geschrieben habe, neu zu schreiben. Ich muss eine Map von String zu Column in eine andere Map von String zu Column umwandeln, wobei die Column in der …
Ich habe mit dem neuen optionalen Typ in Java 8 gearbeitet und bin auf eine allgemeine Operation gestoßen, die funktional nicht unterstützt wird: eine "orElseOptional" Betrachten Sie das folgende Muster: Optional<Result> resultFromServiceA = serviceA(args); if (resultFromServiceA.isPresent) return result; else { Optional<Result> resultFromServiceB = serviceB(args); if (resultFromServiceB.isPresent) return resultFromServiceB; else return …
Ich beantwortete eine Frage zur Möglichkeit von Schließungen (zu Recht), die die Lebensdauer von Objekten verlängern, als ich auf einen äußerst merkwürdigen Code-Gen des C # -Compilers stieß (4.0, wenn das wichtig ist). Der kürzeste Repro, den ich finden kann, ist der folgende: Erstellen Sie ein Lambda, das ein lokales …
Ist es bei einem Lambda möglich, den Parametertyp und den Rückgabetyp herauszufinden? Wenn ja, wie? Grundsätzlich möchte ich, lambda_traitswelche auf folgende Arten verwendet werden kann: auto lambda = [](int i) { return long(i*10); }; lambda_traits<decltype(lambda)>::param_type i; //i should be int lambda_traits<decltype(lambda)>::return_type l; //l should be long Die Motivation dahinter ist, …
sort(mMyClassVector.begin(), mMyClassVector.end(), [](const MyClass & a, const MyClass & b) { return a.mProperty > b.mProperty; }); Ich möchte eine Lambda-Funktion verwenden, um benutzerdefinierte Klassen zu sortieren, anstatt eine Instanzmethode zu binden. Der obige Code liefert jedoch den Fehler: Fehler C2564: 'const char *': Eine Konvertierung im Funktionsstil in einen integrierten …
Die im Lambda-Ausdruck verwendete Variable sollte endgültig oder effektiv endgültig sein Wenn ich versuche, calTzes zu verwenden , wird dieser Fehler angezeigt. private TimeZone extractCalendarTimeZoneComponent(Calendar cal, TimeZone calTz) { try { cal.getComponents().getComponents("VTIMEZONE").forEach(component -> { VTimeZone v = (VTimeZone) component; v.getTimeZoneId(); if (calTz == null) { calTz = TimeZone.getTimeZone(v.getTimeZoneId().getValue()); } }); …
Geschlossen . Diese Frage muss fokussierter sein . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie sich nur auf ein Problem konzentriert, indem Sie diesen Beitrag bearbeiten . Geschlossen vor 2 Jahren . Verbessere diese Frage Ich habe mit den Aktionsdelegierten …
Beim Lesen der Java-8-Spezifikation sehe ich immer wieder Verweise auf 'SAM-Typen'. Ich konnte keine klare Erklärung dafür finden. Was ist ein SAM-Typ und was ist ein Beispielszenario dafür, wann einer verwendet werden könnte?
Kann ein C # -Lambda-Ausdruck mehr als eine Anweisung enthalten? (Bearbeiten: Wie in mehreren der folgenden Antworten erwähnt, wurde diese Frage ursprünglich eher nach "Zeilen" als nach "Aussagen" gestellt.)
Google Guava hat ein Prädikat, das immer zurückgibttrue . Hat Java 8 etwas Ähnliches Predicate? Ich weiß, ich könnte es gebrauchen (foo)->{return true;}, aber ich möchte etwas Vorgefertigtes, analog zu Collections.emptySet().
auto foo = "You're using g++!"; auto compiler_detector = [foo](auto foo) { std::puts(foo); }; compiler_detector("You're using clang++!"); clang ++ 3.6.0 und neuerer Ausdruck "Sie verwenden clang ++!" und warnen Sie davor, dass die Aufnahme foo nicht verwendet wird. g ++ 4.9.0 und neuerer Ausdruck "Sie verwenden g ++!" und warnen, …
Betrachten Sie dieses ziemlich nutzlose Programm: #include <iostream> int main(int argc, char* argv[]) { int a = 5; auto it = [&](auto self) { return [&](auto b) { std::cout << (a + b) << std::endl; return self(self); }; }; it(it)(4)(6)(42)(77)(999); } Grundsätzlich versuchen wir, ein Lambda herzustellen, das sich selbst …
Nehmen Sie die Methode System.Windows.Forms.Control.Invoke (Delegate-Methode) Warum führt dies zu einem Fehler bei der Kompilierung: string str = "woop"; Invoke(() => this.Text = str); // Error: Cannot convert lambda expression to type 'System.Delegate' // because it is not a delegate type Dies funktioniert jedoch gut: string str = "woop"; Invoke((Action)(() …
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.