8.22. Scala recursive function

发布时间 :2023-11-15 23:00:02 UTC      

Recursive functions play an important role in functional programming languages.

Scala also supports recursive functions.

A recursive function means that the function can call itself.

The above example uses recursive functions to calculate factorials:

object Test {
   def main(args: Array[String]) {
      for (i <- 1 to 10)
         println(i + " the factorial of is: = " + factorial(i) )
   }

   def factorial(n: BigInt): BigInt = {
      if (n <= 1)
         1
      else
      n * factorial(n - 1)
   }
}

Execute the above code, and the output is as follows:

$ scalac Test.scala
$ scala Test
The factorial of 1 is: = 1
The factorial of 1 is: = 2
The factorial of 3 is:=6
The factorial of 4 is:=24
The factorial of 5 is:=120
The factorial of 6 is:=720
The factorial of 7 is:=5040
The factorial of 8 is:=40320
The factorial of 9 is:=362880
The factorial of 10 is:=3628800

Principles, Technologies, and Methods of Geographic Information Systems  102

In recent years, Geographic Information Systems (GIS) have undergone rapid development in both theoretical and practical dimensions. GIS has been widely applied for modeling and decision-making support across various fields such as urban management, regional planning, and environmental remediation, establishing geographic information as a vital component of the information era. The introduction of the “Digital Earth” concept has further accelerated the advancement of GIS, which serves as its technical foundation. Concurrently, scholars have been dedicated to theoretical research in areas like spatial cognition, spatial data uncertainty, and the formalization of spatial relationships. This reflects the dual nature of GIS as both an applied technology and an academic discipline, with the two aspects forming a mutually reinforcing cycle of progress.