柯里在Scala中,让我们说我有这样的功能:类型化功能和斯卡拉
def foo[R](x: String, y:() => R): R
所以我可以做:
val some: Int = foo("bar", {() => 13 })
有没有办法来改变这种使用功能柯里没有“失去”第二个参数的类型?
def foo[R](x: String)(y:() => R): R
val bar = foo("bar") <-- this is now of type (() => Nothing)
val some: Int = bar(() => 13) <-- doesn't work
你应该真的接受senia的答案,我所做的只是展示一个小变体!除了荣誉之外,声望超过20k没有任何实质性的好处。 –