我正在试图弄清楚Ramda食谱方法mapKeys
的正确类型是什么,如果不抛出错误就不会出现这种情况。
问题
错误发生在fn
:
“{}”类型的参数不能分配给类型'的参数(a: string)=>串'。类型“{}”不提供签名'(a: string):string'。
我可以从R.adjust
的类型中看到它使用泛型,我根据错误尝试了(a: string) => string
,错误应该是正确的类型,以及其他一些变体,例如{{1} }}
有人可以指出匿名函数的(a: string) => string[]
参数应该是什么来修复输入错误?
通过使用VSCode将示例粘贴到TypeScript项目并通过npm安装Ramda,这非常容易复制,并且我将fn
的输入作为参考。
示例
R.adjust
Ramda打字参考
import * as R from 'ramda';
export const mapKeys = R.curry(
(fn: ???, obj: { [k: string]: any } | { [k: number]: any }) =>
R.fromPairs(
R.map(
R.adjust(fn, 0), // <--- Error: tried typings for `adjust`
R.toPairs(obj)
)
)
);
答案 0 :(得分:2)
我在types/npm-ramda
上为public class Test {
public static void main(String args[]) {
long e = 0;
for (int i = 1; i <= 100000; i++) {
e += 1.0 / factorial(i);
}
System.out.println(e);
}
public static long factorial(long number) {
if (number <= 1) return 1;
else return number * factorial(number - 1);
}
}
发布了一个问题,并且Github已合并为母版,用于下一版Ramda打字版。