elm*_*elm 2 recursion scala function
这个非编译代码定义递归函数值,
val factorial = (n:Int) => if (n < 1) 1 else n * factorial(n-1)
Run Code Online (Sandbox Code Playgroud)
产生错误信息,例如
recursive value factorial needs type
Run Code Online (Sandbox Code Playgroud)
如何声明返回类型?
像这样
val factorial: Int => Int = (n:Int) => if (n<1) 1 else n*factorial(n-1)
Run Code Online (Sandbox Code Playgroud)
事实上,我会像这样写:
def factorial(n: Int): Int = if (n < 1) 1 else n * factorial(n-1)
Run Code Online (Sandbox Code Playgroud)