Rubyにおける再帰関数
再帰関数とは、関数の定義の中で自分自身を参照するようなものです。
Rubyではどのように書くのだろうと思ったところ、特別なことは何もなく書けるのですね。
例えば、自然数の階乗を計算する関数(メソッド)は、次のように定義できます。
def factorial n if n == 1 1 elsif n > 1 n * factorial(n-1) else raise Exception end end
このとき、
factorial(1) #=> 1 factorial(2) #=> 2 factorial(3) #=> 6 factorial(4) #=> 24 factorial(5) #=> 120
となります。
かんたん、かんたん。