落語の頭山みたいな関数。関数の中で自分自身を呼び出す。
1: 階乗を計算する再帰関数 fact2 <- function(n) { if (n == 0) 1 else n*fact2(n-1) # この方が再帰関数の説明としてはよいが,R では else n*Recall(n-1) のように書くのがよい } > fact2(3) [1] 6 2: 文字列を逆順に書き出す再帰関数 revstr <- function(str) { len <- nchar(str) if (len == 0) { cat("\n") } else { cat(substr(str, len, len)) Recall(substr(str, 1, len-1)) } } > revstr("abcde") edcba