Trying to figure out Ramda here. Does Ramda have a method to turn arguments to a list? Eg:
R.argumentsToList(1)(2) => [1, 2]
The problem that I'm actually facing is that my function is passed 2 arguments and I need to work with both arguments, yet R.compose
only allows the rightmost function to work with multiple arguments. Turning my arguments to a list would allow me to bypass this - or would that be a bad approach?
Practical problem: I want to pass 2 strings into my function. Those should be turned into a merged object, eg:
f('firstString', 'second') => {firstString: 'firstString', second: 'second'}
I know that I can use R.merge
and R.objOf
, but I don't know how to handle and work with the 2 arguments that are passed to the function.
Creating a list
function is one of the recipes in the Ramda Cookbook . It turns out to be fairly simple:
var list = R.unapply(R.identity);
list(1, 2, 3); // => [1, 2, 3]
This is based on the simple unapply
, which converts a variadic function into one that accepts an array.
I managed to do this with R.useWith
:
R.useWith(R.concat, [R.of, R.of])
However, I'm not sure if this is the easiest/best solution for this, because I'm very inexperienced. Maybe someone with more experience can share their knowledge?
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.