再帰関数とは? 再帰関数とは、関数の中からその関数自身を呼び出すような処理を行う関数のこと。 必ず終点が必要で、問題を徐々に単純化しないといけない。 再帰呼び出しを行うと、関数を呼び出すたびに引数やローカル変数がメモリを確保する。 再帰関数をいつ使うか? 1つ処理すると、残りの処理対象が増えたりする。 しかも増えた文は、元の構造が似ている。 場合につかうらしいです。 Tree構造のデータをたどるような場合等。(マージソート,クイックソート) 具体例 : 細胞分裂 1匹の細胞が一度に2匹に分裂するした結果を出力するプログラムを、ループと再帰関数を用いて書いてみます。 ループ def cell_divison_loop(cell) loop { break if cell.length > 100 cell = cell * 2 } return cell end p cell_divison