【发布时间】:2015-05-16 02:15:05
【问题描述】:
Scala 类型推断非常好,它很容易习惯,不必写两次。当你不得不这样做时,它会更加痛苦。一个这样的例子是函数类型。
有时我想为某些函数签名创建一个命名类型。有可能吗?有什么方法可以获取函数的编译时类型,这样我在定义FType时就不必再次键入它了吗?
object Foo {
def f(a:Int, b:Int, x:Double, y:Double, name:String) : Unit = {}
//type FType = typeOf(f) // can compiler provide me a compile time type somehow?
type FType = (Int,Int,Double,Double,String) => Unit
def callF( func:FType) = func(0,0,0,0,"")
}
Scala 中是否有类似 C++ decltype 的东西可以用于此目的?
【问题讨论】:
标签: function scala type-inference