是否可以将函数指定为参数的默认值?

时间:2014-07-16 19:58:41

标签: scala

假设我有以下功能:

def func(x: Int)(f: Int => Boolean) = f(x)

是否可以为函数定义默认值?

def func(x: Int)(f: Int => Boolean = defaultFunc) = f(x)

其中defaultFunc是一个从Int到Boolean的函数。我会自己尝试这个,但只是想把它发布在这里!

1 个答案:

答案 0 :(得分:6)

是的,这是可能的,因为你可以自己找到使用REPL或scalafiddle

def defaultFunc(x: Int): Boolean = ???
// defaultFunc: (x: Int)Boolean

def func(x: Int)(f: Int => Boolean = defaultFunc) = f(x)
// func: (x: Int)(f: Int => Boolean)Boolean