将方法转换为 curried 函数的最优雅的方法是什么,在 Underscore/Lo-dash 或 Ramda 等库中是否支持此功能?
对于固定数量的参数,我现在正在这样做:
var fn2 = _.curry(function (m, a1, a2, obj) {
return obj[m].call(obj, a1, a2);
});
它允许如下代码:
var a2b = fn2('replace', 'a', 'b')
a2b('abc')
=> 'bbc'
也:
var nl2_ = fn2('replace', '<br>')
nl2_('\n', 'some<br>html')
=> 'some\nhtml'