gpt4 book ai didi

function - 如何将类声明为使用隐式参数扩展函数

转载 作者:行者123 更新时间:2023-12-02 05:45:42 24 4
gpt4 key购买 nike

我想定义一个带有一个显式参数和一个隐式参数的函数,如下所示:

def foo(a: Int)(implicit b: Int) : Int

但作为一个类或对象,像这样

object Foo extends ((Int,Int) => Int) {
def apply(a: Int)(implicit b: Int) : Int = { ... }
}

这样函数就可以这样调用:

implicit val b = 2
val g = Foo(1)

我无法获得 Foo 类应该从中正确扩展的基类的声明。如何做到这一点?

最佳答案

你不能。 Function2[T1, T2, R] 声明了抽象方法apply(t1: T1, t2: T2): R,所以如果你想混入Function2 ,您必须实现此 arity-2 apply 方法,该方法的签名与您想使用的柯里化(Currying)版本不同。

关于function - 如何将类声明为使用隐式参数扩展函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10294522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com