【发布时间】:2009-12-01 15:19:10
【问题描述】:
在我看来,eval() 与 goto 一样受到轻视。 eval,我的意思是一个将字符串作为代码执行的函数,如 PHP、Python、JavaScript 等中所见。是否存在使用 eval() 是合理的情况(perl 除外)?如果没有,为什么有这么多语言实现它?
【问题讨论】:
-
这个问题不能语言无关因为块
eval在Perl中作为主要异常处理机制的特殊作用。因此,我向您提出,这个问题不可能有一个正确的答案:如果您正在使用 Perl 编程,那么使用eval是有充分理由的,而如果您正在使用 JavaScript 编程,则可能没有真正的充分理由。指定此问题适用的语言或将其设为 CW。 -
没错,我不知道 eval() 在 perl 中是如何工作的。
-
您是否在 Lisp 中包含
eval函数?它在正常操作(读取-评估-打印循环)中是必不可少的,但根据我的经验,它几乎从未在此之外使用过。每次我受到诱惑时,看起来 Common Lisp 宏都是一个更好的主意。
标签: eval