2009-12-05 4 views
38

Я надеюсь, что есть способ определить тип функции в Scala.Как вы определяете тип функции в Scala?

Например, говорю, что я хочу, это функция, которая принимает два Ints и возвращает логическое значение, я мог бы определить функцию, которая использует, что, как это:

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

Есть ли способ определить тип F? Тогда я мог бы сделать что-то вроде:

def checkInts(f: MyFunctionType) 

или

def checkInts(f: Option[MyFunctionType]) 

ответ

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

    def checkInts(f: MyFunction) 
    def checkInts(f: Option[MyFunction]) 
} 
Смежные вопросы