Kann nicht meinen Kopf um "Lift" in Ramda.js wickeln

Suchen Sie nach der Quelle für Ramda.js, insbesondere nach der Funktion "Heben".

Aufzu

liftN

Hier ist das gegebene Beispiel:

var madd3 = R.lift(R.curry((a, b, c) => a + b + c));

madd3([1,2,3], [1,2,3], [1]); //=> [3, 4, 5, 4, 5, 6, 5, 6, 7]

So ist die erste Zahl des Ergebnisses einfach,a, b, undc, sind alle ersten Elemente eines jeden Arrays. Der zweite ist für mich nicht so einfach zu verstehen. Sind die Argumente der zweite Wert jedes Arrays (2, 2, undefiniert) oder ist es der zweite Wert des ersten Arrays und die ersten Werte des zweiten und dritten Arrays?

Selbst wenn man die Reihenfolge der Ereignisse nicht beachtet, sehe ich den Wert nicht wirklich. Wenn ich das ohne @ ausfühlifting es zuerst werde ich mit den Arrays endenconcatls Zeichenfolgen @enated. Dies scheint zu funktionieren wieflatMap aber ich kann der Logik dahinter nicht folgen.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage