我有一张{string: Function}
地图a
:
const a: A = {
foo: (x: string) => 8,
bar: (y: number, z: boolean) => 6,
}
Run Code Online (Sandbox Code Playgroud)
然后我转换它,使每个映射函数具有不同类型的返回值:
const b: B = {
foo: (x: string) => (8).toString(),
bar: (y: number, z: boolean) => (6).toString(),
}
Run Code Online (Sandbox Code Playgroud)
在TypeScript中,有没有办法将类型描述B
为派生自A
,在我的梦想世界中,我希望能够做到:
type A = {
foo: (string) => number
bar: (number, boolean) => number
}
type B = {
[K in keyof A]: (E in argsof A[K]) => string
}
Run Code Online (Sandbox Code Playgroud) 我正在努力通过"漂亮的球拍",试着在我去的时候编写单元测试.
单元测试宏的最佳方法是什么?例如,如果我有一个宏infix
:
(define-macro (infix [A B C]) #'(B A C))
Run Code Online (Sandbox Code Playgroud)
测试模式匹配和转换的最明智的方法是什么?我想做点什么:
(check equal? (infix '(3 - 2)) '(- 3 2))
Run Code Online (Sandbox Code Playgroud)