2009-12-05 19 views
38

Espero que haya una forma de definir un tipo para una función en Scala.¿Cómo se define un tipo para una función en Scala?

Por ejemplo, decir que quiero una función que toma dos Entrs y devuelve un valor booleano, que podría definir una función que utiliza que de esta manera:

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

¿Hay una manera de definir el tipo de f? Entonces podría hacer algo como:

def checkInts(f: MyFunctionType) 

o

def checkInts(f: Option[MyFunctionType]) 

Respuesta

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

    def checkInts(f: MyFunction) 
    def checkInts(f: Option[MyFunction]) 
} 
Cuestiones relacionadas