Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么没有而不是零?在Clojure?_Clojure - Fatal编程技术网

为什么没有而不是零?在Clojure?

为什么没有而不是零?在Clojure?,clojure,Clojure,在clojure中,我注意到具有逻辑对立的函数,如[[if x if not][every?x not every]]。 我想知道为什么[不是零?]不包括在内,是故意的还是因为它太琐碎了 对不起,我得问一下。自从Clojure 1.6以来,有一些?: clojure.core/some? ([x]) Returns true if x is not nil, false otherwise. 在Clojure中,值false和nil都是false(被视为“false”),其他所有值都是true

在clojure中,我注意到具有逻辑对立的函数,如[[if x if not][every?x not every]]。 我想知道为什么[不是零?]不包括在内,是故意的还是因为它太琐碎了


对不起,我得问一下。

自从Clojure 1.6以来,有一些?:

clojure.core/some?
([x])
Returns true if x is not nil, false otherwise.

在Clojure中,值false和nil都是false(被视为“false”),其他所有值都是true(被视为“true”)

例如,

(if-not nil
        true
        false)
计算结果为true,并且

(if-not false
        true
        false)
也计算为true。在大多数情况下,您不应该显式地检查nil,而应该使用对false/truthy值进行操作的表单

如果必须只检查nil,则可以使用和派生