繁体   English   中英

Scala递归函数值定义

[英]Scala recursive function values definition

这个非编译代码定义递归函数值,

val factorial = (n:Int) => if (n < 1) 1 else n * factorial(n-1)

产生错误信息,例如

recursive value factorial needs type

如何声明返回类型?

像这样

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)
val factorial: Int => Int = (n) => if (n<1) 1 else n*factorial(n-1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM