如何用vavr修复函数的第二个参数?
how to fix the second parameter of a function with vavr?
假设我有一个带有两个参数的函数。
Function2<T1,T2,R> function;
我想修正第二个参数,使之成为Function1<T1,R>
。
使用Function2.apply(T1 t)
,我只能固定第一个参数,有没有办法固定第二个参数?
In Java, a method signature is part of the method declaration. It's the combination of the method name and the parameter list.
vavr 中没有内置效用函数来部分应用第二个参数。可用的效用函数仅对第一个参数进行部分应用。
您可以轻松地自己完成部分应用程序,但您需要在自己的代码库中完成。
static <T1, T2, R> Function1<T1, R> partialApply2(Function2<T1, T2, R> f, T2 p2) {
return p1 -> f.apply(p1, p2);
}
假设我有一个带有两个参数的函数。
Function2<T1,T2,R> function;
我想修正第二个参数,使之成为Function1<T1,R>
。
使用Function2.apply(T1 t)
,我只能固定第一个参数,有没有办法固定第二个参数?
In Java, a method signature is part of the method declaration. It's the combination of the method name and the parameter list.
vavr 中没有内置效用函数来部分应用第二个参数。可用的效用函数仅对第一个参数进行部分应用。
您可以轻松地自己完成部分应用程序,但您需要在自己的代码库中完成。
static <T1, T2, R> Function1<T1, R> partialApply2(Function2<T1, T2, R> f, T2 p2) {
return p1 -> f.apply(p1, p2);
}