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.)
Wenn ich anzeige [=], dass alle lokalen Variablen nach Wert in einem Lambda erfasst werden sollen, werden dann alle lokalen Variablen in der Funktion kopiert oder nur alle lokalen Variablen , die vom Lambda verwendet werden ? Also zum Beispiel, wenn ich habe: vector<int> my_huge_vector(100000); int my_measly_int; some_function([=](int i){ return …
Wie Sie im folgenden Code sehen können, habe ich ein Action<>Objekt als Variable deklariert . Würde mich bitte jemand wissen lassen, warum sich dieser Delegat für Aktionsmethoden wie eine statische Methode verhält? Warum wird trueder folgende Code zurückgegeben? Code: public static void Main(string[] args) { Action<string> actionMethod = s => …
Wie kann ich mit Lambda nach mehreren Spalten gruppieren? Ich habe Beispiele gesehen, wie man es mit linq für Entitäten macht, aber ich suche nach Lambda-Form.
Haben Lambda-Ausdrücke eine andere Verwendung als das Speichern von Codezeilen? Gibt es spezielle Funktionen von Lambdas, die Probleme lösten, die nicht einfach zu lösen waren? Die typische Verwendung, die ich gesehen habe, ist die, anstatt dies zu schreiben: Comparator<Developer> byName = new Comparator<Developer>() { @Override public int compare(Developer o1, Developer …
Ich möchte einen Java 8-Stream duplizieren, damit ich zweimal damit umgehen kann. Ich kann collectals Liste und neue Streams daraus bekommen; // doSomething() returns a stream List<A> thing = doSomething().collect(toList()); thing.stream()... // do stuff thing.stream()... // do other stuff Aber ich denke, es sollte einen effizienteren / eleganteren Weg geben. …
Ich habe bereits mehrere Java 8-Tutorials gelesen. Im Moment bin ich auf folgendes Thema gestoßen: Unterstützt Java Currying? Hier sehe ich folgenden Code: IntFunction<IntUnaryOperator> curriedAdd = a -> b -> a + b; System.out.println(curriedAdd.apply(1).applyAsInt(12)); Ich verstehe, dass dieses Beispiel 2 Elemente summiert, aber ich kann die Konstruktion nicht verstehen: a …
Insbesondere habe ich TabPane und möchte wissen, ob es ein Element mit einer bestimmten ID enthält. Also möchte ich dies mit Lambda-Ausdruck in Java tun: boolean idExists = false; String idToCheck = "someId"; for (Tab t : tabPane.getTabs()){ if(t.getId().equals(idToCheck)) { idExists = true; } }
Ich möchte einen "leeren" Lambda-Ausdruck deklarieren, der nichts bewirkt. Gibt es eine Möglichkeit, so etwas zu tun, ohne die DoNothing()Methode zu benötigen ? public MyViewModel() { SomeMenuCommand = new RelayCommand( x => DoNothing(), x => CanSomeMenuCommandExecute()); } private void DoNothing() { } private bool CanSomeMenuCommandExecute() { // this depends on …
Mit einem Methodenaufruf ist es einfach, von einem Lambda zu einem Ausdruck zu wechseln ... public void GimmeExpression(Expression<Func<T>> expression) { ((MemberExpression)expression.Body).Member.Name; // "DoStuff" } public void SomewhereElse() { GimmeExpression(() => thing.DoStuff()); } Aber ich möchte den Func nur in seltenen Fällen in einen Ausdruck verwandeln ... public void ContainTheDanger(Func<T> dangerousCall) …
Kotlin hat sehr schöner Iterieren Funktionen, wie forEachoder repeat, aber ich bin nicht in der Lage das zu machen breakund continuemit ihnen Operatoren arbeiten (sowohl lokale als auch nicht-lokal): repeat(5) { break } (1..5).forEach { continue@forEach } Das Ziel ist es, übliche Schleifen mit der funktionalen Syntax so nah wie …
Ich möchte Map.computeIfAbsent sehr gerne verwenden, aber es ist zu lange her, dass Lambdas im Undergrad sind. Fast direkt aus den Dokumenten: Es gibt ein Beispiel für die alte Art, Dinge zu tun: Map<String, Boolean> whoLetDogsOut = new ConcurrentHashMap<>(); String key = "snoop"; if (whoLetDogsOut.get(key) == null) { Boolean isLetOut …
Ich verwende .NET 3.5 und möchte in der Lage sein, jedes * n* -te Element aus einer Liste abzurufen. Es stört mich nicht, ob dies mit einem Lambda-Ausdruck oder LINQ erreicht wird. Bearbeiten Sieht so aus, als hätte diese Frage eine Menge Debatten ausgelöst (was gut ist, oder?). Die Hauptsache, …
In unserem Projekt migrieren wir auf Java 8 und testen die neuen Funktionen. In meinem Projekt verwende ich Guava-Prädikate und -Funktionen, um einige Sammlungen mit Collections2.transformund zu filtern und zu transformieren Collections2.filter. Bei dieser Migration muss ich zum Beispiel Guavencode in Java 8 ändern. Die Änderungen, die ich vornehme, sind …
Ich habe derzeit eine Seite, die wie folgt deklariert ist: public partial class MyPage : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //snip MyButton.Click += (o, i) => { //snip } } } Ich bin erst kürzlich von 1.1 auf .NET 3.5 umgestiegen, daher bin ich es gewohnt, …
Das Ändern einer lokalen Variablen in forEachführt zu einem Kompilierungsfehler: Normal int ordinal = 0; for (Example s : list) { s.setOrdinal(ordinal); ordinal++; } Mit Lambda int ordinal = 0; list.forEach(s -> { s.setOrdinal(ordinal); ordinal++; }); Irgendeine Idee, wie man das löst?
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.