Почему использование назначения плохо?

Эта почта (Ленивая оценка в R - это влияет на назначение?) охватывает некоторые точки соприкосновения, но я не уверен, что это отвечает на мой вопрос.

Я перестал использоватьassign когда я обнаружилapply Семья довольно давно вернулась, хотя и чисто по причинам элегантности в такие ситуации, как эта:

names.foo <- letters
values.foo <- LETTERS
for (i in 1:length(names.foo))
  assign(names.foo[i], paste("This is: ", values.foo[i]))

который можно заменить на:

foo <- lapply(X=values.foo, FUN=function (k) paste("This is :", k))
names(foo) <- names.foo

Это также причина этого (http://cran.r-project.org/doc/FAQ/R-FAQ.html#How-can-I-turn-a-string-into-a-variable_003fR-faq говорит, что этого следует избегать.

Теперь я знаю, чтоassign как правило, осуждается. Но есть ли другие причины, о которых я не знаю? Я подозреваю, что это может испортить обзор или ленивую оценку, но я не уверен? Пример кода, который демонстрирует такие проблемы, будет отличным.

Ответы на вопрос(3)

Ваш ответ на вопрос