好像所有东西都需要用clojure中的括号括起来.即使是一个简单的问候世界!
(println "Hello world!")
Run Code Online (Sandbox Code Playgroud)
该语法决定有什么好处?
mik*_*era 22
根本原因是Clojure被设计为同源语言,即代码在语言的核心数据结构中表达.所有Lisps都共享此属性,但很少有其他语言可以.因此,Lisps的整个语言设计受到这一决定的强烈影响.
选择是在Lisp的设计早期做出的,列表将用于表单中的函数调用:
(function arg1 arg2 arg3) => some result
Run Code Online (Sandbox Code Playgroud)
这有很多优点:
(cons function-symbol list-of-args)函数名称可能已放在括号外:
function (arg1 arg2 arg3) => some result
Run Code Online (Sandbox Code Playgroud)
但这会有许多缺点:
Eri*_*fer 10
Clojure是怎么回事?
(println "Hello world!")
Run Code Online (Sandbox Code Playgroud)
任何不同的
println("Hello world!")
Run Code Online (Sandbox Code Playgroud)
其他语言?仅在不同位置使用相同数量的括号.
parens分隔函数调用(作为列表).在类C语言中,parens仅包含参数,而在类似LISP的语言中,它们包含函数名称.