Quels sont les dangers de la fonction eval(parse(...))?

Il y a plusieurs questions sur la façon d'éviter d'utiliser eval(parse(...))

Qui déclenche les questions:

  • Pourquoi, en particulier, devrait eval(parse()) - elle être évitée?
  • Et surtout, Quels en sont les dangers?
    • Sont-il dangereux si le code n'est pas utilisé dans la production? (Je suis en train de penser, tout risque de retour des résultats inattendus. En clair, si vous n'êtes pas prudent sur ce que vous analysez, vous aurez des problèmes. Mais est-ce plus dangereux que d'être bâclée avec get()?)
  • Je ne sais pas si je vais avoir le temps de créer un bon exemple/écrire une réponse, mais mes maux de tête dans cette direction ont eu plus à faire avec eval() généralement que avec eval(parse()). Le problème avec eval() est qu'il essaie de suivre une certaine base, mais souvent difficiles à comprendre des règles sur les cadres dans lesquels l'expression est évaluée, et ceux-ci peuvent souvent vous mordre quand vous commencez à utiliser des constructions de code de manière plus complexe que l'auteur à l'origine de la pensée de ... obeautifulcode.com/R/How-R-Searches-And-Finds-Stuff
  • cette question semble être de frapper beaucoup de résultats de recherche. Si vous souhaitez revenir sur votre commentaire ci-dessus, j'aimerais entendre plus de vos pensées, je suis sûr que d'autres seraient ainsi
  • Saporta, vous semblent profiter de l'aide de data.table. Fait intéressant, je suis tombé sur la poste où est expliqué que eval peut être plus rapide que get, dans certains cas, avec data.table