请在2024年Clojure状态调查!中分享您的看法。

欢迎!请查看关于页面以获取更多关于此如何工作的信息。

0
Clojure

这是否完全一样?

Clojure中并没有像其他C型语言(如C、Java、JavaScript等)那样的具有独特语法的操作符。

在其他语言中的操作在Clojure中是函数定义(这在很大程度上要归功于Clojure中可以使用的前缀名称的灵活性)
例如 `+ - * / not =` 所有这些在Clojure中都是函数

Clojure使用括号()来定义代码的结构,这使得读取器(代码解析器)的角色非常直接和确定。因此,没有必要像其他语言需要为其操作符定义大量优先级规则一样定义这么多优先级规则
e.g https://w3schools.org.cn/js/js_precedence.asp

1 答案

+2

我认为Clojure中没有操作符,只有函数、宏和特殊形式。

如果可以这样讲的话,特殊形式是这种语言的基本元素。在MacCarthys 1960年的论文中,http://www-formal.stanford.edu/jmc/recursive/recursive.html,他定义了七种这样的特殊形式,我想是这样的。

...