offers a helpful twist on typical functional programming operations (like map(..)
, compose(..)
, etc)
主要是从JS的角度来说明functional programming,例如,ES6
1 |
|
使用Ramda, R.map(..)
是柯西化的
我们注意到这部分的功能是,先使用mapper的功能,也就是uppercase的分发,然后才是arrays的功能(遍历?)
因为是柯西化的,所以我们可以进行反转
1 |
|
这样,先进行遍历array的操作,然后才是相关功能的mapper? 这里面使用了R.flip(..)
这样的功能进行参数的交换
由此引出的问题,在functional programming
中,需要记住参数的顺序
1 |
|
这里面_.reduce(..)
使用这样的参数顺序reducerFunction, initialValue, arr
。但我们一般情况下很少填写initialValue
这样的一个解决办法就是Named Arguments
。这样的一种方案不是跟python很类似?