http://d.hatena.ne.jp/Rion778/20091210/1260464593 去年書いたんだけど,今ふいに遅延評価ってなんだっけとか思って調べたり上の記事を読み直したりしてみたら割と何書いてあるか分からない理解してなかったっぽいのでもう一度まとめ直し. ただ個人的には納得したものの,内容的には前のと大差ない気がします. まず次の例を見てもらいたい. > ## 一見するとflist[[1]]()が1,flist[[2]]()が2, ... , flist[[10]]()が10を返しそう > flist <- lapply(1:10, function(i){ function() i}) > ## ダメ... > flist[[1]]() [1] 10 > flist[[2]]() [1] 10 別にこれはバグとかではなくて,なぜこのような事が起こるのかというと,遅延評