2009-12-05 41 views
38

我希望有一种方法可以在Scala中定义函数的类型。如何在Scala中定义函数的类型?

例如,假设我想这需要两个整数并返回一个布尔函数,我可以定义使用了这样的功能:

def checkInts(f: (Int,Int) => Boolean) = { 
    // do stuff 
} 

有没有一种方法来定义f的类型?然后,我可以这样做:

def checkInts(f: MyFunctionType) 

def checkInts(f: Option[MyFunctionType]) 

回答

45
trait Foo { 
    type MyFunction = (Int,Int) => Boolean 

    def checkInts(f: MyFunction) 
    def checkInts(f: Option[MyFunction]) 
} 
相关问题