Что является самым элегантным способом конвертировать метод в функцию curried, и есть ли поддержка для этого в libs, например Underscore/Lo-dash или Ramda?Использование методов as (curried) в JavaScript
Для фиксированного числа аргументов, что я делаю это прямо сейчас:
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'
Я не уверен, в чем вопрос; lo-dash, очевидно, поддерживает «curry», что квалифицируется как «самый элегантный», не используя его так, как написано? –
Карри выполняет только половину работы, он не превращает метод в функцию – estolua
Что именно это означает, «не превращает метод в функцию»? –