【发布时间】:2014-07-11 11:20:14
【问题描述】:
这个关于定义递归函数值的非编译代码,
val factorial = (n:Int) => if (n < 1) 1 else n * factorial(n-1)
产生错误信息,例如
recursive value factorial needs type
如何声明返回类型?
【问题讨论】:
这个关于定义递归函数值的非编译代码,
val factorial = (n:Int) => if (n < 1) 1 else n * factorial(n-1)
产生错误信息,例如
recursive value factorial needs type
如何声明返回类型?
【问题讨论】:
val factorial: Int => Int = (n) => if (n<1) 1 else n*factorial(n-1)
【讨论】:
像这样
val factorial: Int => Int = (n:Int) => if (n<1) 1 else n*factorial(n-1)
其实我会这样写:
def factorial(n: Int): Int = if (n < 1) 1 else n * factorial(n-1)
【讨论】: