什么是代码即数据?我听说它优于“ascii字符”,但为什么呢?我个人觉得以代码为数据的哲学实际上有点令人困惑。

我涉猎过Scheme,但是我从来没有真正了解过整个“编码为数据”的东西,想知道这到底是什么意思?

最佳答案

这意味着您编写的程序代码也是可以由程序操纵的数据。采取一个简单的Scheme表达式,例如

(+ 3 (* 6 7))

您可以将其视为一个数学表达式,在求值时会产生一个值。但这也是一个包含三个元素的列表,即+3(* 6 7)。通过引用列表,
 '(+ 3 (* 6 7))

您告诉方案将其视为后者,即仅包含三个元素的列表。因此,您可以使用程序来操作此列表,然后对其进行评估。它给您带来的力量是巨大的,当您“理解”这个想法时,会有一些很酷的技巧要玩。

10-01 06:13
查看更多