【发布时间】:2019-04-14 06:52:20
【问题描述】:
我是打字稿和泛型的新手,并且正在使用 Maybe monad。我使用 Ramda 创建了这个小实用函数:
const fromEmpty = R.ifElse(hasLength, Just, Maybe.zero);
我可以从中推断出的最接近的签名是:
type EmptyFunc<T> = (val: T[]) => Maybe<T[]>;
这是一个函数,接收一个数组并返回一个返回该数组的 Maybe 的函数。
我试过了
const fromEmpty(<U extends EmptyFunc<U>) = R.ifElse(hasLength, Just, Maybe.zero);
但这不起作用。它返回error TS1005: ',' expected.
在打字稿中使用柯里化函数的正确方法是什么?
【问题讨论】:
标签: typescript functional-programming currying ramda.js