Looking at the source for Ramda.js, specifically at the "lift" function.
Here's the given example:
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 the first number of the result is easy, a
, b
, and c
, are all the first elements of each array. The second one isn't as easy for me to understand. Are the arguments the second value of each array (2, 2, undefined) or is it the second value of the first array and the first values of the second and third array?
Even disregarding the order of what's happening here, I don't really see the value. If I execute this without lift
ing it first I will end up with the arrays concat
enated as strings. This appears to sort of be working like flatMap
but I can't seem to follow the logic behind it.