2009-12-05 14 views
38

Spero che ci sia un modo per definire un tipo per una funzione in Scala.Come si definisce un tipo per una funzione in Scala?

Ad esempio, dire che voglio una funzione che prende due int e restituisce un valore booleano, potrei definire una funzione che utilizza che in questo modo:

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

C'è un modo per definire il tipo di f? Poi ho potuto fare qualcosa di simile:

def checkInts(f: MyFunctionType) 

o

def checkInts(f: Option[MyFunctionType]) 

risposta

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

    def checkInts(f: MyFunction) 
    def checkInts(f: Option[MyFunction]) 
} 
Problemi correlati