这周我开始学习 Clojure。我正在研究条件公文,但不理解以下断言:
"Some of them leave you no alternative"
(= [] (if (> 4 3)
[]))
"And in such a situation you may have nothing"
(= nil (if (nil? 0)
[:a :b :c]))
第二个做了我所期望的——条件评估为假——[编辑:实际上,这是真的,我只是还不习惯“操作员优先”的推理!],if
试图返回第二个选择,发现无,所以返回nil
。那么,为什么第一个不返回nil
?是因为空结构“足够接近”零吗?