【发布时间】:2012-05-04 21:21:10
【问题描述】:
我想定义一个带有一个显式和一个隐式参数的函数,如下所示:
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 应该正确扩展的基的声明。
如何做到这一点?
【问题讨论】:
-
为什么,在这个例子中,你需要“extends ((Int,Int) => Int)”?没有编译也很好。
-
这样我就可以传递一个 Foo ,其中需要一个 (Int,Int) => Int
-
对,这就是我说“在这个例子中”的原因
-
@virtualeyes 嗯,好的。 :-) 你知道例子是怎么回事。