假设我有以下功能:
def func(x: Int)(f: Int => Boolean) = f(x)
是否可以为函数定义默认值?
def func(x: Int)(f: Int => Boolean = defaultFunc) = f(x)
其中defaultFunc是一个从Int到Boolean的函数。我会自己尝试这个,但只是想把它发布在这里!
答案 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