2009-12-05 17 views
38

Scala'daki bir işlev için bir tür tanımlamanın bir yolu olduğunu umuyorum.Scala'da bir işlev için bir türü nasıl tanımlarsınız?

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

f tipini tanımlamak için bir yol var mı: Örneğin

, iki IntS alır ve bir Boole döndüren bir fonksiyon, böyle kullanan bir işlevi tanımlayabilir istiyor demek?

def checkInts(f: MyFunctionType) 

veya

def checkInts(f: Option[MyFunctionType]) 

cevap

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

    def checkInts(f: MyFunction) 
    def checkInts(f: Option[MyFunction]) 
} 
: Sonra gibi bir şey yapabileceğini
İlgili konular