Question Comment définissez-vous un type pour une fonction dans Scala?


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

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

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

Est-il possible de définir le type de f? Alors je pourrais faire quelque chose comme:

def checkInts(f: MyFunctionType)

ou

def checkInts(f: Option[MyFunctionType])

38
2017-12-05 23:35


origine


Réponses:


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

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

46
2017-12-05 23:39