2009-12-05 40 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]) 
} 
相關問題