我正在开始学习 clojure。主要来自 Java 和一些脚本语言,作为 clojure(以及所有函数式语言,我认为)的数据部分的代码并不那么清晰。
从书的第一页开始,我看到了表格。我发现它主要与数据相关,例如 #{1 2}
。但在其他一些地方,我看到 Boolean
标记为 form
。
现在,我假设 false
是 Boolean
类型的一种形式,但我没有看到 type
被更多提及好几次了,所以我很困惑。
有人可以插入我理解表单的概念,并插入我理解代码作为语言的数据部分吗?
最佳答案
Clojure 具有表单,因为它是 Lisp 。
- Clojure 表单是作为以下内容的一部分呈现的元素或数据结构 一个程序。
- Clojure 和其他 Lisp 语言在这个意义上都有形式。
- 除了 Lisp 之外,大多数编程语言都没有: 用于组成程序结构的数据与 native 数据完全不同 结构。
- 函数式语言也不异常(exception)。例如,看看 ML家人。
evaluation 的规则告诉你表格是如何工作的。
- 使用 native 数据结构来表达程序的返回 结构是你几乎可以编写操作表单的程序 就像编写任何其他类型一样容易。
- 此类程序称为 macros .
例如,看看 the source for and
。在 Java 中你无法做到这一点。
This回答你关于 Lisps 的一般问题。
关于clojure - Clojure 表单是数据还是类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43291513/