Scala之旅-嵌套方法

Scala之旅-嵌套方法

嵌套方法(Nested Methods)

在Scala中函数定义是可以嵌套的。下面的函数factorial为一个数字计算阶乘:

def factorial(x: Int): Int = {
    def fact(x: Int, accumulator: Int): Int = {
      if (x <= 1) accumulator
      else fact(x - 1, x * accumulator)
    }  
    fact(x, 1)
 }
 println("Factorial of 2: " + factorial(2))
 println("Factorial of 3: " + factorial(3))

上面程序的输出如下:

Factorial of 2: 2
Factorial of 3: 6

参考资料

本文译自Tour Of Scala – Nested Methods

上一篇:Scala之旅-高阶函数

下一篇:Scala之旅-柯里化

发表评论

电子邮件地址不会被公开。 必填项已用*标注