English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Scala の再帰関数

Scala の関数

再帰関数は、関数式プログラミングの言語で重要な役割を果たします。

Scala も再帰関数をサポートしています。

再帰関数は、関数が自分自身を呼び出すことを意味します。

上記の例では、階乗を計算する再帰関数を使用しています:

object Test {
   def main(args: Array[String]) {
      for (i <- 1 to 10)
         println(i + " の階乗は: = " + factorial(i) )
   }
   
   def factorial(n: BigInt): BigInt = {  
      if (n <= 1)
         1  
      else    
      n * factorial(n - 1)
   }
}

上記のコードを実行すると、出力結果は以下の通りです:

$ scalac Test.scala
$ scala Test
1 の階乗は: = 1
2 の階乗は: = 2
3 の階乗は: = 6
4 の階乗は: = 24
5 の階乗は: = 120
6 の階乗は: = 720
7 の階乗は: = 5040
8 の階乗は: = 40320
9 の階乗は: = 362880
10 の階乗は: = 3628800

Scala の関数