gni*_*las 6 generics functional-programming currying typescript
我可以为具有一定数量参数的函数创建一个通用的currying函数.IE)
function curry2<T1,T2,R>(func:(arg1:T1, arg2:T2) => R, param2: T2):(arg:T1) => R{
    return (param1:T1) => func(param1, param2);
};
但是,我找不到(类型安全)方法来为具有任意数量参数的函数实现通用curry函数.在另一种语言中,我将所有我的currying函数(即:curry1,curry2,curry3等)命名为相同的东西(curry),然后让函数重载执行正确执行curry的工作.但是,typescript不允许像这样的函数重载.
在每个地方写curry2/curry1/curry3而不是咖喱的单一统一界面并不是太麻烦,但如果有办法做到这一点我会很高兴知道如何!
到处都写curry2/curry1/curry3而不是一个统一的curry接口也不算太麻烦,
您可以重载(文档https://basarat.gitbooks.io/typescript/content/docs/types/functions.html)
一些可以帮助您入门的东西:
function curry<T1,T2,R>(func:(arg1:T1, arg2:T2) => R, param2: T2):(arg:T1) => R;
function curry<T1,T2,T3,R>(func:(arg1:T1, arg2:T2, arg3: T3) => R, param2: T2):(arg:T1) => R;
function curry(){
    // Implement
    return undefined;
};
| 归档时间: | 
 | 
| 查看次数: | 1428 次 | 
| 最近记录: |