Clojure编程基础:空白、命名空间与特殊形式解析
1. 空白与逗号
在Clojure中,形式之间、函数调用的参数之间以及数据结构字面量的元素之间通常不需要逗号。例如:
(defn silly-adder
[x y]
(+ x y))
这是因为空白足以分隔提供给读取器的值和形式。此外,读取器将逗号视为空白。以下代码在功能上与上述代码等效:
(defn silly-adder
[x, y]
(+, x, y))
并且:
(= [1 2 3] [1, 2, 3])
;= true
是否使用逗号完全取决于个人风格和偏好。通常,只有在使用逗号能提高代码的可读性时才会使用,比如在一行中列出多对值的情况:
(create-user {:name new-username, :email email})
2. 集合字面量
读取器为最常见的Clojure数据结构提供了语法:
'(a b :name 12.5) ;; 列表
['a 'b :name 12.5] ;; 向量
{:name "Chas" :age 3
超级会员免费看
订阅专栏 解锁全文
65

被折叠的 条评论
为什么被折叠?



