http://www.ibm.com/developerworks/jp/linux/library/l-r3/index.html の無限シーケンスをまねてやってみる。 # 初期値と数列を生成する関数を渡して、無限数列生成の関数を作る make_infinity <- function(init, func){ inf_vec <- init function(idx, len) { extend_by <- max(idx + len - 1 - length(inf_vec), 0) inf_vec <<- c(inf_vec, func(idx=length(inf_vec)+1, len=extend_by)) inf_vec[seq.int(idx, length.out=len)] } } # 数列を生成する関数は、ある位置 idx から長さ len の数列を生成 fib <