Als «lambda» getaggte Fragen

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.)

9
Greifen Sie auf den Wert eines Mitgliedsausdrucks zu
Wenn ich ein Produkt habe. var p = new Product { Price = 30 }; und ich habe die folgende linq Abfrage. var q = repo.Products().Where(x=>x.Price == p.Price).ToList() In einem IQueryable-Anbieter erhalte ich einen MemberExpression für den p.Price zurück, der einen konstanten Ausdruck enthält, aber ich kann den Wert "30" …

4
Was ist die Lebensdauer eines C ++ - Lambda-Ausdrucks?
(Ich habe bereits gelesen, wie lange implizite Funktoren aus Lambda in C ++ noch leben, und diese Frage wird nicht beantwortet.) Ich verstehe, dass die C ++ - Lambda-Syntax nur Zucker ist, um eine Instanz einer anonymen Klasse mit einem Aufrufoperator und einem bestimmten Status zu erstellen, und ich verstehe …
70 c++  lambda  c++11 

1
Aufzählungen in Lambda-Ausdrücken werden unterschiedlich kompiliert. Folge von Überlastungsauflösungsverbesserungen?
Beim Ausprobieren von Visual Studio 2015 RC wurde ein Laufzeitfehler für zuvor funktionierenden Code angezeigt. Angesichts des Lambda (x => x.CustomerStatusID == CustomerStatuses.Active), das an eine Funktion als übergeben wurde Expression<>, zeigt der Debugger einen Unterschied im Ausdrucksbaum. Früher wurde es so zusammengestellt: .Lambda #Lambda1<System.Func`2[Services.DataClasses.CustomerDC,System.Boolean]>(Services.DataClasses.CustomerDC $x) { (System.Int32)$x.CustomerStatusID == 0 …
68 c#  lambda  enums  roslyn  c#-6.0 


4
Warum wird der Lambda-Rückgabetyp zur Kompilierungszeit nicht überprüft?
Die verwendete Methodenreferenz hat den Rückgabetyp Integer. Im Stringfolgenden Beispiel ist jedoch eine Inkompatibilität zulässig. Wie kann die Methodendeklaration withkorrigiert werden, um den Methodenreferenztyp ohne manuelles Casting sicher zu machen? import java.util.function.Function; public class MinimalExample { static public class Builder<T> { final Class<T> clazz; Builder(Class<T> clazz) { this.clazz = clazz; …




1
Warum kann ich eine untergeordnete Variable mit demselben Namen wie eine Variable im übergeordneten Bereich deklarieren?
Ich habe kürzlich einen Code geschrieben, in dem ich einen Variablennamen unbeabsichtigt als Parameter einer Aktion wiederverwendet habe, die in einer Funktion deklariert wurde, die bereits eine gleichnamige Variable enthält. Zum Beispiel: var x = 1; Action<int> myAction = (x) => { Console.WriteLine(x); }; Als ich die Duplizierung entdeckte, war …

3
Verhaltensunterschied der veränderlichen Erfassung der Lambda-Funktion von einem Verweis auf eine globale Variable
Ich habe festgestellt, dass die Ergebnisse bei Compilern unterschiedlich sind, wenn ich ein Lambda verwende, um einen Verweis auf eine globale Variable mit einem veränderlichen Schlüsselwort zu erfassen und dann den Wert in der Lambda-Funktion zu ändern. #include <stdio.h> #include <functional> int n = 100; std::function<int()> f() { int &m …


3
Lambda-Verschluss-l-Werte können als r-Wert-Referenzparameter übergeben werden
Ich fand heraus, dass lvalueLambda-Verschlüsse immer als rvalueFunktionsparameter übergeben werden können. Siehe die folgende einfache Demonstration. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // works // Case 2: passing a …

3
Überladen Sie eine Lambda-Funktion
Wie kann man eine einfache lokale Lambda-Funktion überladen? SSE des ursprünglichen Problems: #include <iostream> #include <map> void read() { static std::string line; std::getline(std::cin, line); auto translate = [](int idx) { constexpr static int table[8]{ 7,6,5,4,3,2,1,0 }; return table[idx]; }; auto translate = [](char c) { std::map<char, int> table{ {'a', 0}, …

1
Ist das Captureless Lambda nach dem Standard garantiert leer?
Ich suche nach einer Möglichkeit, leere (Captureless) Lambdas von anderen Lambdas in einer Vorlagenfunktion zu identifizieren. Ich verwende derzeit C ++ 17, bin aber auch neugierig auf C ++ 20-Antworten. Mein Code sieht folgendermaßen aus: template<typename T> auto func(T lambda) { // The aguments of the lambdas are unknown if …
12 c++  lambda  c++17  c++20 

1
Warum ist ein Typparameter stärker als ein Methodenparameter?
Warum ist public <R, F extends Function<T, R>> Builder<T> withX(F getter, R returnValue) {...} dann strenger public <R> Builder<T> with(Function<T, R> getter, R returnValue) {...} Dies ist eine Nachverfolgung von Warum wird der Lambda-Rückgabetyp beim Kompilieren nicht überprüft? . Ich fand mit der MethodewithX() wie .withX(MyInterface::getLength, "I am not a …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.