相关疑难解决方法(0)

为什么eval邪恶呢?

我知道Lisp和Scheme程序员通常会说eval除非必要,否则应该避免.我已经看到了几种编程语言的相同建议,但我还没有看到一个反对使用的明确论据列表eval.我在哪里可以找到使用中潜在问题的说明eval

例如,我知道GOTO程序编程中的问题(使程序难以理解且难以维护,难以找到安全问题等),但我从未见过反对的论点eval.

有趣的GOTO是,相反的论点应该对延续有效,但我看到Schemers,例如,不会说延续是"邪恶的" - 你在使用时应该小心.他们更倾向于使用代码而eval不是代码使用continuation(据我所知 - 我可能是错的).

lisp scheme eval clojure common-lisp

141
推荐指数
8
解决办法
1万
查看次数

在Lisp中,代码就是数据.这提供了什么好处?

在Lisp中,任何程序的代码实际上都是有效的数据结构.例如,这会将一个和两个加在一起,但它也是三个项目的列表.

(+ 1 2)
Run Code Online (Sandbox Code Playgroud)

这提供了什么好处?是什么让你在其他语言中做到不可能和/或不那么优雅?

lisp

25
推荐指数
3
解决办法
7102
查看次数

标签 统计

lisp ×2

clojure ×1

common-lisp ×1

eval ×1

scheme ×1