Dieser Ausschnitt aus Pseudocode funktioniert gut:
%Vor%Tatsächlich erscheint es in mehreren Beispielen und Dokumenten.
Das funktioniert jedoch nicht, und ich kann nicht herausfinden warum:
%Vor%Ich erhalte immer den folgenden Fehler:
%Vor%Ich dachte, es könnte ein Fehler in D sein, aber vielleicht habe ich etwas verpasst ...?
(Mein tatsächlicher Delegat ist komplexer, ich habe den Code auf ein minimales Beispiel reduziert, das das Problem demonstriert).
Unter Verwendung von (a, b) => { return a + b; }
ist das Lambda eine Funktion / Delegat, die eine Funktion / einen Delegaten zurückgibt und nicht das Ergebnis der Operation a + b
. Sie sollten (a, b) { return a + b; }
ohne den Operator =>
lambda verwenden, damit er sich wie gewünscht verhält.
Dies kann mit dem folgenden Code angezeigt werden:
%Vor% Ihr Code sollte also RANGE.reduce!((a, b) { return a + b; })
;
Tags und Links d