2009-12-05 5 views
38

J'espère qu'il existe un moyen de définir un type pour une fonction dans Scala.Comment définissez-vous un type pour une fonction dans Scala?

Par exemple, disons que je veux une fonction qui prend deux Ints et retourne une valeur booléenne, je pourrais définir une fonction qui utilise ce comme ceci:

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

est-il un moyen de définir le type de f? Alors que je pouvais faire quelque chose comme:

def checkInts(f: MyFunctionType) 

ou

def checkInts(f: Option[MyFunctionType]) 

Répondre

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

    def checkInts(f: MyFunction) 
    def checkInts(f: Option[MyFunction]) 
} 
Questions connexes