Rには次のforループがあります:
v = c(1,2,3,4)
s = create.some.complex.object()
for (i in v){
print(i)
s = some.complex.function.that.updates.s(s)
}
# s here has the right content.
言うまでもなく、このループは R では非常に遅いです。関数型スタイルで記述しようとしました。
lapply(v, function(i){
print(i)
s = some.complex.function.that.updates.s(s)
})
# s wasn't updated.
s
しかし、参照ではなく値によって渡されるため、これは機能しません。すべての中間ステップではなく、最後の反復の結果のみが必要です。R スタイルで最初のループを作成するにはどうすればよいですか?
ムロン