English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
再帰関数は、関数式プログラミングの言語で重要な役割を果たします。
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