我想用一个值调用一个函数数组,然后获取部分应用函数的数组。用Ramda返回所应用函数的数组
我当前的代码:
const my_array = pipe(flip(call), flip(map)([add, subtract]))(1)
// = [add(1), subtract(1)]
是否有这样做的更好的办法?
我的目标(可能是不合理的),将有一个point-free替代如下功能:
const bind_all = (funcs) => pipe(flip(call), flip(map)(funcs))
bind_all([add, subtract])(1)
// = [add(1), subtract(1)]
这似乎是类似juxt,而是返回一个函数的数组。
更新:针对的答案,我同意,我当前的代码是远远可读,由于试图迫使自由点的方法(与现有模式的知识有限)。 这个问题只是试图探索保持可读性的无点设计的限制。
目前的答案似乎表明,这实际上是不合理的。
有趣,但'juxt([add,flip(subtract)])'返回一个函数,而不是一个数组 –
我误会了。它不会尝试在手机上编码!对于那个很抱歉。 –
已更新为似乎实际*符合要求的版本。 :-) –